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

Php 如何检查foreach循环中值为1的值,php,Php,我正在尝试从一个表OrderItem中获取一个字段(状态),该表有多个具有相同orderID的行。字段状态是一个逻辑值,即1表示挂起,2表示拾取。我想显示任何一行状态为1,然后将其设置为挂起,如果全部为2,则将其设置为拾取 $stmt_chk = "SELECT order_item_status FROM order_item WHERE order_id='$orderId'"; $ex_stmt = $db->query($stmt_c

我正在尝试从一个表OrderItem中获取一个字段(状态),该表有多个具有相同orderID的行。字段状态是一个逻辑值,即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>";
            }
            ?>
$stmt\u chk=“从订单项目中选择订单项目状态,其中订单id=”$orderId';
$ex_stmt=$db->query($stmt_chk);
//$resu_stmt=$ex_stmt->fetch_array();
而($resu_stmt=$ex_stmt->fetch_row()){
$stmtstatus=$resu stmt;
$it_status=$stmtstatus;
foreach($it\U状态为$status){
回显$status。“
”; 如果($status==2){ $item_或statu=2; //echo$item_orstatu; } 否则{ $item_或statu=1; //回声“拾取”; } //回显$status。“
”; } //echo$it_状态[0]; //打印(it状态); //echo$it_status['order_item_status']; } 如果($item_或statu==1){ 回显“”。“挂起”; } 否则{ 回显“”。“拾取”; } ?>
您可以在查询中使用
MIN()

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

您的代码易受SQL注入攻击。你应该使用事先准备好的陈述。