datensätze zählen

Hi

suche mal unter http://www.mysql.de nach

PHP:
mysql_affected_rows()

Dies liefert alle betroffenen Datesätze einer vorhergehenden MySQL Operation.

Erstmal die bekannten Quellen anzapfen.

Jenser
 
Falls Du mit einer SELECT-Query Daten auswaehlst kannst Du wunderbar mysql_num_rows() nutzen.

Beispiel:
PHP:
$users=mysql_query("select * from users");
$num_users=mysql_num_rows($users);
printf("Anzahl User:%s<br>",$num_users);
Dadurch erhaeltst Du in $num_users die Anzahl der User und wird durch printf() ausgegeben.
Danach kannst Du natuerlich auch ohne Probleme mit $users weiterarbeiten.
Beispiel:
PHP:
printf("User-Namen:<br>");
while ($user=mysql_fetch_assoc($users))
 {
  printf("%s<br>",$user['username']);
 }
Dies gibt Dir dann anschliessen die Liste der Usernamen aus.
 
da gibts unmassen von möglichkeiten, eine wäre z.b. auch folgende

PHP:
$result = mysql_query('SELECT COUNT(*) FROM tbl');
$num = mysql_result($result, 0);


wobei du das beispiel mit der while-schleife nur nehmen solltest, wenn du die anderen daten auch brauchst ;)


byez
 
Ich schließe mich DeluXes Vorschlag an, die MySQL-interne COUNT()-Funktion zu nutzen, da MySQL solche Abfragen optimiert:
COUNT(*) ist darauf optimiert, das Ergebnis sehr schnell zurückzugeben, wenn es mittels eines SELECT von einer Tabelle abruft, wenn keine weiteren Spalten abgerufen werden und es keine WHERE-Klausel gibt.
 
Wenn man wirklich nur die eine Zahl braucht gebe ich euch beiden recht.
Wenn man die Datensätze ohnehin braucht wäre ein Performancetest im Vergleich zu mysql_num_rows mal angebracht, da man schließlich 2 Querys ausführen muss. Beispiel:
"Es gibt n User": Dabei ist die MySQL-Variante mit ziemlicher Sicherheit vorzuziehen.
"Es gibt n User, diese sind: Gumbo, DeluXe, hpvw, ...": Fragwürdig ob zwei Querys schneller sind, als mysql_num_rows.
Besonders fragwürdig wird es, wenn Bedingungen ins Spiel kommen:
"n User sind Online"
"n User sind Online: Gumbo, DeluXe, hpvw, ..."

Gruß hpvw
 
Zurück