不知道从多个查询开始的位置

时间:2017-04-19 19:54:19

标签: php html conditional-statements

请道歉我的英语。

我需要一些方向,我需要这样做:

从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' << ---但这只是改变了第一个结果。

只需要一些方向,提前谢谢。

2 个答案:

答案 0 :(得分:1)

使用

echo print_r($result, true);

查看返回的结果并更改

$delivery = $row['delivery'];

相应。也许你需要写一些类似的东西:

$delivery = $row[0]['delivery'];

答案 1 :(得分:1)

看起来你真的需要多次查询。您可以在更新查询中使用第一个查询中的WHERE条件,并使用IF function来设置适当的值。

App

我知道这并没有解释你当前代码的问题,但看起来你已经在评论中得到了这个。