我试图从具有多个具有相同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>";
}
?>
答案 0 :(得分:0)
您可以在查询中使用MIN()
。
SELECT IF(MIN(status) = 1, 'pending', 'picked') AS order_status
FROM order_item
WHERE order_id = '$order_id'