php while循环变量递增数
我有一个while循环,它从数据库收集信息。然后我像这样回应php while循环变量递增数,php,while-loop,Php,While Loop,我有一个while循环,它从数据库收集信息。然后我像这样回应 $num = 1; $i=0; $drop = 'yes'; echo '<form id="drop_form" method="post" action="here.php">'; while( $row = mysql_fetch_assoc($query)) { $player[] = $row['player']; echo '<tr class="rows"><td>'
$num = 1;
$i=0;
$drop = 'yes';
echo '<form id="drop_form" method="post" action="here.php">';
while( $row = mysql_fetch_assoc($query)) {
$player[] = $row['player'];
echo '<tr class="rows"><td>'; echo'<input type="hidden"
name="yeah" value="'.$num.'"/>
<input name="submit" type="submit" value="submit"/>';
echo $player[$i].'</td></tr>';
$num++;
$i++;
}
echo '</table>';
echo '</form>';
您的表单正在提交类似
yeah=1&yeah=2&yeah=3
。。。这相当于以下PHP:
$_POST['yeah'] = 1;
$_POST['yeah'] = 2;
$_POST['yeah'] = 3;
由此可以看出变量正在被覆盖
尝试使用name=“yeah[]”
,因为这将生成一个数组,如下所示:
$_POST['yeah'][] = 1;
$_POST['yeah'][] = 2;
$_POST['yeah'][] = 3;
产生
数组(1,2,3)代码>在while循环开始之前添加以下内容:$player=array()代码>
应始终在循环之前定义数组:)
希望这有帮助!:)
另外:
1.将name=“yeah”
更改为name=yeah[]
,因为您希望此输入是一个数组。
2.将提交按钮移到while循环
之外,因为您应该只需要其中一个。必须:mysql*
函数将被禁用。不建议编写新代码,因为它将在将来被删除。您正在生成一个包含多个输入的表单,这些输入都称为耶
,具有不同的值。当您发布表单时,较早的表单将被较晚的表单覆盖,因此实际提交的只有最后一个。您的{
和}
不匹配。好的,谢谢您。。。我应该更改每个输入的名称吗?@Ricky:要么更改,要么使用name=“yeah[]”
。这将把所有的值作为一个数组发布($\u post['yeah']
将是一个数组)。
$_POST['yeah'][] = 1;
$_POST['yeah'][] = 2;
$_POST['yeah'][] = 3;