如何在foreach循环中检查值为1的值

时间:2019-11-04 17:21:52

标签: php

我试图从具有多个具有相同orderID的行的表OrderItem中获取字段(状态)。字段状态是一个逻辑值,表示待处理状态为1,已选择状态为2,我想显示任何行状态为1,然后将其设置为待处理,如果全部为2,则将其设置为已选择

            $stmt_chk = "SELECT order_item_status FROM order_item WHERE order_id='$orderId'";
            $ex_stmt = $db->query($stmt_chk);
                       //$resu_stmt = $ex_stmt->fetch_array();
            while($resu_stmt = $ex_stmt->fetch_row()) {
                           $stmtstatus  = $resu_stmt;
                           $it_status = $stmtstatus;
                           foreach($it_status as $status) {
                            echo $status."<br>";
                            if($status == 2 ) {
                                $item_orstatu = 2;
                                //echo $item_orstatu;
                            }
                            else {
                                $item_orstatu = 1;
                                //echo 'Picked';
                            }
                            //echo $status."<br>";
                           }
                           //echo $it_status[0];
                           //print_r($it_status);
                           //echo $it_status['order_item_status'];
                       }
            if($item_orstatu == 1) {
            echo '<b style=color:#f70606>'.'Pending'."</b>";
            }
            else {
                echo '<b style=color:#63b10d>'.'Picked'."</b>";
            }
            ?>

1 个答案:

答案 0 :(得分:0)

您可以在查询中使用MIN()

SELECT IF(MIN(status) = 1, 'pending', 'picked') AS order_status
FROM order_item
WHERE order_id = '$order_id'