Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Ich habe ein Array $row.

Dieses Array wurde mit einer SELECT Anweisung aus einer DB generiert.

Nun möchte ich wissen wie viele Datensätze da jetzt drin sind.

Ich habe das bereits mit dem Count Befehl in der sql anweisung probiert, aber das hat nicht geklappt. bzw er hat gar nichts ausgegeben.

Aus diesem grund poste ich nicht bei DB´s, sondern hier.

Es muss doch noch eine andere Möglichkeit geben, ein php Befehl vielleicht.

Um noch mal mein Problem zu verdeutlichen:

Es gibt zB:

$row[0][0] Erster Datensatz

$row[0][1]

$row[1][0] Zweiter Datensatz

$row[1][1]

$row[2][0] Dritter Datensatz

$row[2][1]

Ich möchte nämlich später eine Schleife machen, wo die Anzahl der Durchläufe gleich der Anzahl der Datensätze sein sollen.

Ich hoffe, es gibt ne ganz einfache Lösung auf die ich nur nicht gekommen bin.

Geschrieben

Hi,

Benutzt du MySQL- Datenbank?

$result = mysql_query("SELECT * FROM $tabelle");

Anzahl der Datensätze:

mysql_num_rows($result);

Die Schleife:

while($row = mysql_fetch_array($result))

{

...

}

Steht alles in PHP Manual

Geschrieben

in php würde das ganze so gehen:


$a[0] = 1;

$a[1] = 3;

$a[2] = 5;

$result = count ($a);

//$result == 3

ich hoffe das hilft dir weiter

mfg korea1

Geschrieben
Originally posted by kathi008

Hi,

Benutzt du MySQL- Datenbank?

$result = mysql_query("SELECT * FROM $tabelle");

Anzahl der Datensätze:

mysql_num_rows($result);

Bei größeren Datenbanken würde ich das aber nicht wirklich empfehlen, es sei denn der Server langweilt sich. ;)

In dem Fall eher:

$result = mysql_query("SELECT COUNT(*) AS anzahl FROM tabelle");

$rows = mysql_fetch_array($result);

Anzahl der Datensätze: $rows["anzahl"];

Geschrieben
Originally posted by Chaosmaker

Bei größeren Datenbanken würde ich das aber nicht wirklich empfehlen, es sei denn der Server langweilt sich. ;)

In dem Fall eher:

$result = mysql_query("SELECT COUNT(*) AS anzahl FROM tabelle");

$rows = mysql_fetch_array($result);

Anzahl der Datensätze: $rows["anzahl"];

num_rows funzt aber auch bei unserer 10000 Zeilen-Datenbank in Sekunden.

Ausserdem ist das was du da schreibst nichts anderes als der schon erwähnte count.

Geschrieben
Originally posted by jomama

num_rows funzt aber auch bei unserer 10000 Zeilen-Datenbank in Sekunden.

Ausserdem ist das was du da schreibst nichts anderes als der schon erwähnte count.

Ohoh, das würd ich aber lieber keinem Serveradmin eines etwas ausgelasteteren Servers erzählen.

Mit SELECT * holst Du schließlich die 10000 Datensätze komplett aus der Datenbank, wohingegen COUNT(*) nur kurz durchzählt, ohne die Daten zu holen.

Und das ist sehr wohl ein großer Unterschied.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...