gpt4 book ai didi

PHP - 从带有下拉列表的动态列表的每一行捕获多个变量

转载 作者:行者123 更新时间:2023-11-29 05:18:49 26 4
gpt4 key购买 nike

我有一个植物列表,它是 mysql 搜索的结果。该列表将包含未定义数量的植物。此列表的每一行中有一个不同的植物,以及 2 个选择下拉列表,一个用于选择植物的数量,一个用于选择植物的大小。

因此,此植物列表的每一行都有 4 个变量,我想在单击提交按钮时使用这些变量捕获和更新数据库表:植物 ID、植物名称、数量和大小。

我大大简化了下面的代码,因为这实际上代表了大约 200 行代码。所以我只包含了传达我的问题所必需的内容。

下面的代码工作得很好,只给我列表最后一行的值。我意识到我正在处理这里的数组。我已经尝试了几个小时的许多解决方案,现在只需要寻求帮助。预先感谢您的慷慨帮助。我对此还是很陌生。

... mysql query that creates this plant list result

if($r) {

echo '<form action="plantlist.php" method="POST">';

while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC))) {

echo '<table>
<tr>
<td>' . $plant_id . '</td>
<td>' . $plant_name . '</td>
<td>
<select name="count" value="' . $count . '">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</td>
<td>
<select name="size" value="' . $size .'">
<option value="1">1 foot</option>
<option value="2">2 feet</option>
<option value="3">3 feet</option>
<option value="4">4 feet</option>
</select>
</td>
</tr>
</table>';

}
echo '<input type="submit" name="Submit" value="" />
</form>';

$row_results = array($plant_id, $plant_name, $count, $size);

} // end while loop

$whole_list_results = array($row_results);

foreach($whole_list_results as $result) {

$q = "UPDATE drip_zones SET count = '$count',
size = '$size' WHERE plant_id = '$plant_id'
AND plant_name = '$plant_name'";

$r = @mysqli_query ($db, $q); // run query
}

最佳答案

在最后一行,您将覆盖 $row_results 变量,这就是为什么您总是获得最后一行的原因。

更改为:

 $row_results = array();
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC))) {

并且:

  echo '<input type="submit" name="Submit" value="" />
</form>';

$row_results[] = array('plant_id' => $plant_id,
'plant_name' => $plant_name,
'count' => $count,
'size' => $size);

最后,您可以通过更改循环访问这些结果:

   foreach($row_results as $result) {

$q = "UPDATE drip_zones SET count = '". $result['count'] ."',
size = '". $result['size']. "' WHERE plant_id = '" .$result['plant_id'] ."'
AND plant_name = '" .$result['plant_name'] ."'";

$r = @mysqli_query ($db, $q); // run query
}

但是您似乎有选择框,这些选择框不会在此脚本片段中执行任何操作。我认为这是在脚本的其他地方处理的。事实上,在目前的状态下,这只会存储它已经拥有的东西,所以实际上你问的是什么没有任何意义......

关于PHP - 从带有下拉列表的动态列表的每一行捕获多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28887960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com