Helpful Information
 
 
Category: vBulletin 3 Discussion
Number problem? PHP

Hello, i have a small PHP script, and thought that the way i did it was a long way .. Just wondering if there is a smaller way.

Here is my code.

<?php

$newpm=$DB_site->query_first("SELECT COUNT(*) AS messages FROM privatemessage WHERE userid=$bbuserinfo[userid] AND dateline>$bbuserinfo[lastvisit] AND folderid=0 $ignoreusers");

if ($newpm['messages']==0 and $bbuserinfo['userid']!=0) {
echo("You have 0 messages");
}elseif ($newpm['messages']==1) {
echo("You have 1 message");
}elseif ($newpm['messages']==2) {
echo("You have 2 messages");
}elseif ($newpm['messages']==3) {
echo("You have 3 message");
}elseif ($newpm['messages']==4) {
echo("You have 4 messages");
}elseif ($newpm['messages']==5) {
echo("You have 5 messages");
}elseif ($newpm['messages']==6) {
echo("You have 6 messages");
}elseif ($newpm['messages']==7) {
echo("You have 7 messages");
}elseif ($newpm['messages']==8) {
echo("You have 8 messages");
}elseif ($newpm['messages']==9) {
echo("You have 9 messages");
}elseif ($newpm['messages']>=10) {
echo("You have 10+ messages");
}else
echo("you are not logged in!!!");

?>

Basically its for a small hack, to allow people to see their messages on you homepage, but just wondered if i could make it more simple. ??? Any ideas???

Yes, there are more simple ways.

One way is:
if ($newpm['messages'] >= 0 && $newpm['messages'] < 10 && $bbuserinfo['userid'] != 0) {
echo "You have $newpm['messages'] messages";
} elseif ($newpm['messages'] > 10) {
echo "You have 10+ messages";
} else {
echo "You are not logged in!!!";

If you wouldn't be using numbers, but for instance words for numbers, you would use a switch statement like:
if ($bbuserinfo['userid'] != 0) {
echo "You are not logged in!!!";
}
switch ($newpm['messages']) {
case 0: $newpms="zero"; break;
case 1: $newpms="one"; break;
case 2: $newpms="two"; break;
case 3: $newpms="three"; break;
case 4: $newpms="four"; break;
default: $newpms="four plus";
}
echo "You have $newpms messages";

joecool why don't you just use...

if($bbuserinfo[userid] == 0) {
echo "You are not logged in!!!";
} else {
if($newpm[messages] == 1) {
$type = "message";
} else {
$type = "messages";
}
echo "You have $newpm[messages] $type!";
}

regards...

g-force2k2

Thanks people.. Its all sorted now.. Cool.. :)










privacy (GDPR)