Jump to content

Archived

This topic is now archived and is closed to further replies.

BaconBeast321

How to ECHO SELECT(*) COUNT VALUE?

Recommended Posts

Hi there, I am using this:

$count = mysql_query("SELECT COUNT(*) from announcements");

But I don't know how to get a variable with the value of the number of record pulled from the table.

I tried to echo("$count") just got resource ID#3
then tried : $countz= $count[announcements];

still nothing..

Share this post


Link to post
Share on other sites
$count = mysql_query("select count(*) as blah from announcements");

$num = mysql_fetch_array($count);

echo $num['blah'];

Share this post


Link to post
Share on other sites
[!--quoteo(post=377970:date=May 28 2006, 09:49 PM:name=Crayon Violent)--][div class=\'quotetop\']QUOTE(Crayon Violent @ May 28 2006, 09:49 PM) [snapback]377970[/snapback][/div][div class=\'quotemain\'][!--quotec--]
$count = mysql_query("select count(*) as blah from announcements");

$num = mysql_fetch_array($count);

echo $num['blah'];
[/quote]

sweet thanks man, worked a charm! I now have one last problem, I want this select query to find out how many there are in the table then if there is zero , apply the new announcment with identifier value of 1
and if 1 in table apply 2 to the value. e.t.c I have it working but, instead of just adding one value to the array it adds all 10 lol heres the script : /

<?php


$count = mysql_query("select count(*) as identifier from announcements");

$num = mysql_fetch_array($count);

$identy = $num["identifier"];

echo("$identy");



if($identy = ">9") {



$insert10= MYSQL_QUERY("INSERT INTO announcements (id, username, announcements, date, identifier)".
"VALUES ('NULL', '$username', '$newannounce', '$cdate', '11')");

}

if($identy = ">8") {



$insert10= MYSQL_QUERY("INSERT INTO announcements (id, username, announcements, date, identifier)".
"VALUES ('NULL', '$username', '$newannounce', '$cdate', '10')");

}


if($identy = ">7") {



$insert9= MYSQL_QUERY("INSERT INTO announcements (id, username, announcements, date, identifier)".
"VALUES ('NULL', '$username', '$newannounce', '$cdate', '9')");

}







if($identy = ">6") {



$insert8= MYSQL_QUERY("INSERT INTO announcements (id, username, announcements, date, identifier)".
"VALUES ('NULL', '$username', '$newannounce', '$cdate', '8')");

}



if($identy = ">5") {



$insert7= MYSQL_QUERY("INSERT INTO announcements (id, username, announcements, date, identifier)".
"VALUES ('NULL', '$username', '$newannounce', '$cdate', '7')");

}



if($identy = ">4") {



$insert6= MYSQL_QUERY("INSERT INTO announcements (id, username, announcements, date, identifier)".
"VALUES ('NULL', '$username', '$newannounce', '$cdate', '6')");

}


if($identy = ">3") {



$insert5= MYSQL_QUERY("INSERT INTO announcements (id, username, announcements, date, identifier)".
"VALUES ('NULL', '$username', '$newannounce', '$cdate', '5')");

}


if($identy = ">2") {



$insert4= MYSQL_QUERY("INSERT INTO announcements (id, username, announcements, date, identifier)".
"VALUES ('NULL', '$username', '$newannounce', '$cdate', '4')");

}


if($identy = ">1") {



$insert3= MYSQL_QUERY("INSERT INTO announcements (id, username, announcements, date, identifier)".
"VALUES ('NULL', '$username', '$newannounce', '$cdate', '3')");

}


if($identy = ">0") {



$insert2= MYSQL_QUERY("INSERT INTO announcements (id, username, announcements, date, identifier)".
"VALUES ('NULL', '$username', '$newannounce', '$cdate', '2')");

}




?>


Share this post


Link to post
Share on other sites
Are you trying to check whether $identy is equal to or greate than a certain number in your if statements? If you are you are doing it the wrong way! Inseat compering the current value of $identy with a value you are assigning a value to $identy!

one equal (=) sign is the assignment operator
two equal (==) signs is the comparision operator

Now since you are using an = sign in all your if statements they are doing to be returning true as PHP was successfull in assigning $identy with the value ">9", ">8", ">7" etc in every iuf statement you had

Now if you want to compare something you'll want to do this:
[code]if($foo == $bar) {
    // true
} else {
    // false
}[/code]
So you will want to add an extra = sign in each if statement.

But I think what you are doing is seeing whether $identy is equal or greather than something? If you are then you'll want to do this:
[code]if($identy >= "9") {
    //do something
}[/code]

Also you might want to look in to [a href=\"http://uk2.php.net/manual/en/control-structures.elseif.php\" target=\"_blank\"]if/elseif[/a] statements. However I belive you can do away with all the if statement and use just one query!

Share this post


Link to post
Share on other sites
Not to mention that the logic for all the queries looks very weird. Is there a reason why you need all those queries?

Share this post


Link to post
Share on other sites
Hey, thanks wildteen that double "==" worked a treat!!! Sorry I didnt really explain myself that well, this page is for a user for announcment privlages who can add an announcment in a form.

The Info from the form is turned into a variable, and since I only want their to be 10 anonuncments max on the main page, I figured running an if statement for counting and inserting values would be the way to do it.

It seems to be working now, I will put in a delete function so when count brings back 10 values, it will automatically delete the oldest colum... not really sure how to do that...

Thanks also for your response AndyB, I am not sure if i need all these queries but since I am so new to PHP I couldn't figure out a cleaner method of achieiving this....

I am also hoping that when I echo the announcement to a table on the main page that the data will come out ok and that I can restrict the table size so the "privalged user" doesn't have to use much html when writing the message...

Thanks alot guys! :)

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.