请道歉我的英语。
我需要一些方向,我需要这样做:
从PHP查询MYSQL以选择一些行,然后对每个结果进行另一次查询。
所以我写了这个:
$query = "SELECT * FROM pedidos WHERE `comprador` = '$comprador' AND `estado` = 'cart'";
$result = $mysqli->query($query);
/* array asociativo */
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$id = $row['id'];
$delivery = $row['delivery'];
if($delivery =='ZICHER'){ $status = 'Pagado';} else if($delivery =='USUARIO'){ $status = 'Por Cobrar';}
$query = "UPDATE pedidos SET estado='$status' WHERE comprador='$comprador'";
$result = $mysqli->query($query);
}
但这条线不尊重 if 条件,并将pedidos中的所有行设置为完全相同的$ status。
所以我们已经将这个条件添加到第二个查询中:
WHERE id =' $ id' << ---但这只是改变了第一个结果。
只需要一些方向,提前谢谢。
答案 0 :(得分:1)
使用
echo print_r($result, true);
查看返回的结果并更改
$delivery = $row['delivery'];
相应。也许你需要写一些类似的东西:
$delivery = $row[0]['delivery'];
答案 1 :(得分:1)
看起来你真的需要多次查询。您可以在更新查询中使用第一个查询中的WHERE条件,并使用IF function来设置适当的值。
App
我知道这并没有解释你当前代码的问题,但看起来你已经在评论中得到了这个。