gpt4 book ai didi

PHP 更新未使用复选框更新数据库

转载 作者:行者123 更新时间:2023-11-30 01:20:55 25 4
gpt4 key购买 nike

当我尝试用复选框更新数据库表时,我遇到了一个奇怪的问题,它只需要一个值,而其余的都忽略它们,这是到目前为止我的 php 代码

foreach ($_POST['choice'] as $id){
$price=$_POST['price'][$id];
$availability=$_POST['availability'][$id];

$result1=mysql_query("UPDATE store SET storeid='".$id."',availability='".$availability."', price='".$price."' WHERE productid='".$par1."'");
}

是的,你是对的,我对缺乏信息深感抱歉。这也是我的 html 代码

echo "<td><input type='text' id='availability[".$row->id ."]' name='availability[".$row->id ."]'  value='".$row->diathesimotita ."' size='20'/></td>";
echo "<td><input type='text' id='price[".$row->id ."]' name='price[".$row->id ."]' value='".$row->price ."' size='10'/></td>";
echo "<td><input type='checkbox' id='choice[".$row->id ."]' name='choice[".$row->id ."]' value='".$row->id ."' /></td>";
echo"</tr>";

所以我试图获取与复选框位于同一行的文本框值,但它只获取第一个选中的ckeckbox

最佳答案

复选框仅在被选中时发布值。在尝试在查询中使用它们之前,您应该首先验证它们或设置一个值(为了安全起见!)。例如,在处理代码的顶部执行此操作:

$checkbox_val = (!empty($_POST['choice']) ? 'Yes' : 'No');  //example only assuming non-array for 'choice'

如果 POST 值为空或未设置,这会将值设置为“否”,从而保证您始终拥有一个值。您可以将值更改为 0/1、true/false 等。

此外,如果不查看 3 个 $_POST 数组中的内容,我们就不可能告诉您是否获得了正确的 $price 值等。

关于PHP 更新未使用复选框更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18552296/

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