Php 如何检查foreach循环中值为1的值
我正在尝试从一个表OrderItem中获取一个字段(状态),该表有多个具有相同orderID的行。字段状态是一个逻辑值,即1表示挂起,2表示拾取。我想显示任何一行状态为1,然后将其设置为挂起,如果全部为2,则将其设置为拾取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
$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注入攻击。你应该使用事先准备好的陈述。