我想知道如何在while循环中区分输入框上的名称,所以当我发布时,我得到2个单独的值。这是我的代码:
<form method="post" action="rewarded.php">
<?php
$nameqry="SELECT name FROM kids";
$names=mysqli_query($conn, $nameqry) or die ("Error could not execute name query: " . mysqli_error());
echo "<table>";
while($namerow=mysqli_fetch_array($names)) {
$name=$namerow["name"];
echo "<tr><td>$name will use <input type='text' name='points'> points.</td></tr>";
}
echo "</table>";
echo "<input type='submit' value='Submit'>";
?>
</form>
答案 0 :(得分:0)
您可以将名称设为变量,并在每个循环上更改变量。
$input_name_count = 1;
while($namerow=mysqli_fetch_array($names)) {
$name=$namerow["name"];
echo "<tr><td>$name will use <input type='text' name='".$input_name_count."'> points.</td></tr>";
}
或者,如果您不想使用数字(即points1,points2等,或1,2,3等),请列出您想要的名称。
$names_list = ['name', 'name 2', 'hippos'];
然后只需使用计数器从列表中选择您想要的项目。
$counter = 0;
while($namerow=mysqli_fetch_array($names)) {
$name=$namerow["name"];
echo "<tr><td>$name will use <input type='text' name='".$names_list[$counter]."'> points.</td></tr>";
$counter++;
}
答案 1 :(得分:0)
while($namerow=mysqli_fetch_array($names)) {
$name=$namerow["name"];
echo "<tr><td>$name will use <input type='text' name='points-<?php echo $name; ?>'> points.</td></tr>";
}
每次循环重复代码时,它会为您提供不同的输入名称。
您也可以使用name="points[]"
它将返回数组中的所有名称