PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : COUNT(*) Problem



dadie
15.12.2004, 14:59
Hi ,

habe so nach 1 Monath pause gedacht achja wolltest ja ein Forum bauen :D
so nun will ich wie hier bei Vb ne beitrag Antwort statistik etz.

Mir war nach Kurzer zeit klar das die While schleife nicht ide Richtige Lösung ist
also lass ich in meinem PHP für Dummies buch noch mal durch und was hatte ich
COUNT(*) tja nur wie mach ich das den nun ? im Buch steht nur folgendes

"Count(*) dient dazu die Spalten inhalte ener SQL table zu zählen"

und dann steht noch sowas von für mehr infos KAUFT euch SQL für Dummies

So ich dacht komm google hilft :D doch bisher kamm diser code heraus

$themenstat1 = "SELECT COUNT(id) FROM `topics` ORDER BY id DESC" ;

$themenstat = mysql_query ( $themenstat1 );

Tja und was kommt ? Resource id #13 -_-" toll

Tja wie krieg ich nun die Zahl hin ????

MFG

Dadie

ps.NEED HELP !!!!!!!!!!!!111111111111111111einseinhunderelfSIEBENUNDZWANZIG !!!!!! :D man bin ich 1337 8)

rgb
15.12.2004, 15:03
ich weis nicht genau ob du das meinst, aber wenn ich wissen will, wie viele einträge meinetwegen in ner memberliste sind, mache ich das so:

erst der ganze db-connectkram,


$anfrage="SELECT `name`, `id`, `level` FROM rdn_mitglieder";
$ergebnis=mysql_query($anfrage);
$anz=mysql_num_rows($ergebnis);
$spaltenzahl=mysql_num_fields($ergebnis);
print("<b>Mitglieder insgesamt: ");
print($anz);
print("</b><br>\n");

zum beispiel

dadie
15.12.2004, 15:08
ich weis nicht genau ob du das meinst, aber wenn ich wissen will, wie viele einträge meinetwegen in ner memberliste sind, mache ich das so:

erst der ganze db-connectkram,


$anfrage="SELECT `name`, `id`, `level` FROM rdn_mitglieder";
$ergebnis=mysql_query($anfrage);
$anz=mysql_num_rows($ergebnis);
$spaltenzahl=mysql_num_fields($ergebnis);
print("<b>Mitglieder insgesamt: ");
print($anz);
print("</b><br>\n");

zum beispiel


THX man soll nie einem buch vertrauen -_-

dead_orc
15.12.2004, 15:51
Oder du benutzt die COUNT-Funktion etwa so:

$abfrage = "SELECT COUNT(*) AS `anzahl` FROM `user`";
$ergebnis = mysql_query($abfrage),
$array = mysql_fetch_array($ergebnis);
echo 'User: '.$array['anzahl'];

dadie
15.12.2004, 15:59
Oder du benutzt die COUNT-Funktion etwa so:

$abfrage = "SELECT COUNT(*) AS `anzahl` FROM `user`";
$ergebnis = mysql_query($abfrage),
$array = mysql_fetch_array($ergebnis);
echo 'User: '.$array['anzahl'];


THX wobei ich nun einen fehler habe den ich nicht erklähren kann :confused:

Also so wie es aussiht macht er eine unendliche schleife

nur wo wo ist der fehler das er sie macht ?




$gbtag1 = "SELECT `id`,`name`,`gbtag`,`gbmonat`,`gbjahr` FROM `forenuser` WHERE `gbtag` LIKE '".$Htag."' AND `gbmonat` LIKE '".$Hmonat."' ORDER BY `name` ASC ";

$gbtag2 = mysql_query( $gbtag1 );



while ( $gbtag3 = mysql_num_rows( $gbtag2 ) ) :

echo "<a href=\"./profil.php?uid=" . $gbtag3['id'] . "\">" . $gbtag3['name'] . "</a> ($alter) ";


endwhile;

dead_orc
15.12.2004, 16:05
Im Gegenteil, er fängt gar nicht an mit der Schleife! mysql_num_rows ist nicht dazu da, die Zeilen in ein Array zu konvertieren, sondern lediglich dazu geeignet, die Anzahl der betroffenen Zeilen zu ermitteln! Der richtige Code müsste etwa so aussehen:

$gbtag1 = "SELECT `id`,`name`,`gbtag`,`gbmonat`,`gbjahr` FROM `forenuser` WHERE `gbtag` LIKE '".$Htag."' AND `gbmonat` LIKE '".$Hmonat."' ORDER BY `name` ASC ";

$gbtag2 = mysql_query( $gbtag1 );

$gbtag3 = mysql_num_rows( $gbtag2 );

while ( $gbtag4 = mysql_fetch_array( $gbtag2 ) ) :

echo "<a href=\"./profil.php?uid=" . $gbtag4['id'] . "\">" . $gbtag4['name'] . "</a> ($alter) ";

Achtung: Keine Garantie auf gar nichts!

dadie
15.12.2004, 16:09
Im Gegenteil, er fängt gar nicht an mit der Schleife! mysql_num_rows ist nicht dazu da, die Zeilen in ein Array zu konvertieren, sondern lediglich dazu geeignet, die Anzahl der betroffenen Zeilen zu ermitteln! Der richtige Code müsste etwa so aussehen:

$gbtag1 = "SELECT `id`,`name`,`gbtag`,`gbmonat`,`gbjahr` FROM `forenuser` WHERE `gbtag` LIKE '".$Htag."' AND `gbmonat` LIKE '".$Hmonat."' ORDER BY `name` ASC ";

$gbtag2 = mysql_query( $gbtag1 );

$gbtag3 = mysql_num_rows( $gbtag2 );

while ( $gbtag4 = mysql_fetch_array( $gbtag2 ) ) :

echo "<a href=\"./profil.php?uid=" . $gbtag4['id'] . "\">" . $gbtag4['name'] . "</a> ($alter) ";

Achtung: Keine Garantie auf gar nichts!

LOL bin heute foll danebn
:\ ich glaube ich werde Krank :D