我有一个SQL查询来检查表中的状态。这是我的表和记录:
#table product#
id_pd id_po status
1 po001 0
2 po001 0
3 po001 0
4 po001 1

echo "done";
,如何1
<?php
include 'connection.php';
$qry = $db->query("SELECT status FROM product WHERE id_po='$id_po' ");
$fet = $qry->fetch_assoc();
if($fet['status'] == 1){
echo "done";
}
?>
&#13;
答案 0 :(得分:3)
您可以按最低状态检查:
$qry = $db->query("SELECT min(status) as min_status FROM product WHERE id_po='$id_po' group by id_po");
$fet = $qry->fetch_assoc();
if($fet['min_status'] == 1){
echo "done";
}
答案 1 :(得分:0)
尝试这个,我没有尝试过,但我认为它给你的想法))
<?php
include 'connection.php';
$status = true;
$qry = $db->query("SELECT status FROM product WHERE id_po='$id_po' ");
while ($fet = mysql_fetch_assoc($qry)) {
if($fet['status'] == 0){
$status = false;
}
}
if($status){
echo 'done';
}
?>
答案 2 :(得分:0)
您的情况是,如果所有状态均为1,那么状态就可以了。在这种情况下,您可以尝试这个
// get all
$qry = $db->query("SELECT count(*) all_status FROM product WHERE id_po='$id_po'");
$fet = $qry->fetch_assoc();
// get active
$qry2 = $db->query("SELECT count(*) all_status FROM product WHERE id_po='$id_po' AND status >= 1");
$fet2 = $qry2->fetch_assoc();
// match both record
if($fet1['all_status'] == $fet2['all_status']){
echo "done";
}