hello, i am trying for ages and i do not have any luck. i am trying to make a simple query. if only all item_done == "Yes" then do something. How can i know if all rows are "Yes". (all of them needs to be yes, i shouldn`t have any no) $query="SELECT * FROM item WHERE orderr_reference = '".$ref."' "; $res=mysql_query($query); while($row = mysql_fetch_array($res)) { if ($row['item_done'] == "Yes") { // do something } } PHP:
Hi, try this: $query="SELECT *, IF(!((SELECT COUNT(*) FROM item)-(SELECT COUNT(*) FROM item WHERE item_done='Yes')),1,0) ALL_YES FROM item WHERE orderr_reference='{$ref}'"; $res=mysql_query($query) or die(mysql_error()); while($row = mysql_fetch_array($res)) { if (intval($row['ALL_YES'])) { // do something } } PHP:
@s_ruben he needs to know if there is any record with "No", it works, but doesn't returns desired result. OK, to simplify my previous query: $query="SELECT *, EXISTS(SELECT 1 FROM item WHERE orderr_reference='{$ref}' AND item_done='No') ALL_YES FROM item WHERE orderr_reference='{$ref}'"; $res=mysql_query($query) or die(mysql_error()); while($row = mysql_fetch_array($res)) { if (intval($row['ALL_YES'])) { // do something } } PHP: Edit: Should be EXISTS instead of NOT EXISTS -> the above code edited...
And you can use this code too: $query="SELECT * FROM item WHERE orderr_reference = '".$ref."' AND item_done='No' "; $res=mysql_query($query); if(mysql_num_rows($res)==0){ // do something } Code (markup):