Avatar billede mmohr Nybegynder
02. marts 2006 - 14:04 Der er 9 kommentarer og
1 løsning

count(id) men kun nogle?

Jeg har det her script:

$result = mysql_query("SELECT count(id) FROM $guestbook_table");
if($r=mysql_fetch_array($result))
{
$count=$r['count(id)'];
echo "countVar=$count&";
}

Men jeg vil gerne kun have antallet af de "id" som har feltet "status" sat til en bestemt værdi!

noget i stil med count(id) where status='online'
men den virker bare ikke...
Avatar billede barklund Nybegynder
02. marts 2006 - 14:08 #1
hvad indeholder tabellen $guestbook_table - har den en "status"-kolonne?

Og hvorfor virker dit forsøg ikke - hvilken fejl får du (fra mysql_error() eventuelt)?

Lidt mere info er nødvendigt :)

--
Morten Barklund
Avatar billede mmohr Nybegynder
02. marts 2006 - 14:12 #2
$db = mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db ($db_name) or die ("Kan ikke forbinde til databasen!");
$query="select id, name, email, message, reply, date_format(Date, '%b. %d, %y') as realdate, stamp from $guestbook_table WHERE status = 'online' order by date desc limit $offset,$antal";

$result = mysql_query("SELECT count(id) FROM $guestbook_table");
if($r=mysql_fetch_array($result))
{
$count=$r['count(id)'];
echo "countVar=$count&";
}
echo "txtVar=";
Avatar billede mmohr Nybegynder
02. marts 2006 - 14:12 #3
jeg har bare brug for at kunne tælle alle id felterne, men kun dem der har status='online'
Avatar billede nielle Nybegynder
02. marts 2006 - 14:13 #4
Dette burde da virke:

$result = mysql_query("SELECT count(*) AS antal FROM $guestbook_table WHERE status='online'");
$r = mysql_fetch_assoc($result))
$count = $r['antal'];
echo "countVar=$count&";
Avatar billede mmohr Nybegynder
02. marts 2006 - 14:14 #5
jeg bruger scriptet til at sideindele en stor mængde rows, men vil ikke have talt dem der er offline med, da der så bliver vist tomme sider til sidst!
Avatar billede barklund Nybegynder
02. marts 2006 - 14:18 #6
Så burde det også som nielle siger virke, hvis du bare tilføjer din betingelse direkte - hvilken fejl fik du, da du prøvede?
Avatar billede nielle Nybegynder
02. marts 2006 - 14:35 #7
Hvorfor har du egentligt table-navnet liggende i en variabel? Har du flere tabeller som du skifter imellem?
Avatar billede mmohr Nybegynder
02. marts 2006 - 14:37 #8
$result = mysql_query("SELECT count(*) AS rowcount FROM $guestbook_table WHERE status='online'");
if($r=mysql_fetch_array($result))
{
$count = $r['rowcount'];
echo "countVar=$count&";
}

den her virkede... tak for hjælpen!

jeg har flere php sider der henter fra det table, men bruges på flere servere hvor navnet er et andet, så derfor ;-)

smid lige svar så får du point
Avatar billede nielle Nybegynder
02. marts 2006 - 14:56 #9
Din if-sætning har ingen som helst effekt - den kan udelades:

$result = mysql_query("SELECT count(*) AS rowcount FROM $guestbook_table WHERE status='online'");
$r=mysql_fetch_array($result);
$count = $r['rowcount'];
echo "countVar=$count&";
Avatar billede mmohr Nybegynder
02. marts 2006 - 14:57 #10
ok ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester