PDA

View Full Version : Combining 3 queries


Takara
08-08-2003, 03:26 AM
I have 3 queries that are pretty much the same, each one just gets the total amount of rows that match a certin criteria. But I'm wondering if there is a way to merge the 3 queries into 1, this is the code I'm using:


$q="SELECT count(*) from tracker where viewed=0";
$result= mysql_db_query($dbase, $q, $connection) or die ("Could not execute query : $q." . mysql_error());
while ($row=mysql_fetch_array($result)) { $out = $row[0]; }

$q="SELECT count(*) from tracker where viewed=1 and status=0";
$result= mysql_db_query($dbase, $q, $connection) or die ("Could not execute query : $q." . mysql_error());
while ($row=mysql_fetch_array($result)) { $pen = $row[0]; }

$q="SELECT count(*) from tracker";
$result= mysql_db_query($dbase, $q, $connection) or die ("Could not execute query : $q." . mysql_error());
while ($row=mysql_fetch_array($result)) { $tot = $row[0]; }


Any help would be really appreciated. Thanks

g-force2k2
08-08-2003, 05:08 AM
$q = "SELECT COUNT(*) AS tot,
SUM( IF( viewed=1 AND status=0,1,0 ) ) AS pen,
SUM( IF( viewed=0,1,0 ) ) AS out
FROM tracker" );
$result = mysql_db_query( $dbase, $q, $connection ) or die( "Could not execute query: $q." . mysql_error( ) );
while( $row = mysql_fetch_array( $result ) )
{
$tot = $row[tot];
$out = $row[out];
$pen = $row[pen];
}

Enjoy should work if not let me know...

regards,
g-force2k2

Takara
08-08-2003, 10:50 AM
I'll let you know when I fix this new issue...

[warn] getsockname

*sigh*, tried re-installing but apache still hates me. Can't load any pages *shrug*.. just get that error. But thanks for your help.

g-force2k2
08-08-2003, 03:14 PM
hmm... perhaps search for phptriad it auto installs apache and mysql and has worked for me...

sorry but i don't know much about apache configuration...

regards,
g-force2k2

Takara
08-09-2003, 07:48 AM
It ended up that bootvis was making a log file that just kept growing :/ I had no diskspace left, and that was causing the problem. But other than that the ); following the actual query shouldn't have been there, it caused an error.
I removed it and it works great. Thanks alot for the help, I've taken a look at that code and gone ahead and applied it to my other queries.