从复选框插入mysql一些未插入的复选框

时间:2015-01-30 20:00:11

标签: php mysql

我有一个表格可以为玩家分配事件。该表单基本上具有播放器名称,其名称旁边有一个复选框。我可以选择最多几千名球员。在选中方框时,列表上半部分中的任何人都会更新,但是最底层的任何人都不会更新。我可以在前半部分中选择任何一个,但下半部分中仍然没有人会被插入。 php或MySQL是否具有在停止之前经历的最大迭代次数?

这就是创建表单的原因

$query5 = " SELECT p.playerID, p.stateID, p.firstName, p.lastName, p.city, p.divisionID FROM registered_player p WHERE p.divisionID=2 ORDER BY p.lastName ASC ";
    $result5 = mysql_query($query5) or die ("Error in query: $query5. " . mysql_error());
    ?>

        <?php 
        $i=1;
        while ( $row5= mysql_fetch_array($result5)){extract($row5);
                $query7 = " SELECT stateAbbr FROM state WHERE stateID='$stateID'";
                $result7 = mysql_query($query7) or die ("Error in query: $query7. " . mysql_error());
                $row7= mysql_fetch_array($result7);
                extract($row7);
                $trpID = $row5['playerID'];
                    $queryq = "SELECT playerID FROM tn_participants WHERE playerID='$trpID' AND tourneyID='$tourneyID'";
                    $resultq = mysql_query($queryq) or die ("Error in query: $queryq. " . mysql_error());
                    $numRowsq = mysql_num_rows($resultq);
                    if($numRowsq > 0) {
                                $option = "<input type='checkbox' name='playerID[2][]' size='1' value='$playerID' checked>$lastName, $firstName - $city,$stateAbbr <br>
                                            <input type='hidden' name='tourneyID[2][]' value='$tID'><input type='hidden' name='divisionID[2][]' value='2'>";
                            } else {
                                $option = "<input type='checkbox' name='playerID[2][]' size='1' value='$playerID'>$lastName, $firstName - $city,$stateAbbr <br>
                                            <input type='hidden' name='tourneyID[2][]' value='$tID'><input type='hidden' name='divisionID[2][]' value='2'>";
                            }
                echo  "$option ";
                $i++;}

这是插入

的代码
$tID = $_GET['tourneyID'];


$query2 = "DELETE from tn_participants where tourneyID='$tID' AND divisionID=1";
$result2 = mysql_query($query2) or die ("Error in query: $query2. " . mysql_error());

foreach($_POST['playerID'] as $plID => $value) {
foreach($value as $key => $blah) {
    $tID=$_POST['tourneyID'][$plID][$key];
    $dID=$_POST['divisionID'][$plID][$key];
    $pID=$_POST['playerID'][$plID][$key];
    $query = "INSERT INTO tn_participants (tourneyID, divisionID, playerID)
                    VALUES ('$tID', '$dID', '$pID')";
    $result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());

    }
}

1 个答案:

答案 0 :(得分:0)

post / get变量有一个无法克服的内存限制。我不确定内存限制究竟是什么。你将需要一个'计划b'(。也可以使用jquery来更新每个字段,然后使用ajax作为解决方案的示例)

[编辑] Actualy我记得如果您的服务提供商允许,您可以扩展内存限制。 This提出问题。