mysql_num_rows(Abfrageergebnis);
* Diese Anweisung liefert Ihnen die Anzahl der Datensätze, die mit dem SQL-Befehl SELECT an das Skript zurückgeliefert werden.
* Der Parameter Abfrageergebnis ist die aktuelle SQL-Abfrage mit dem Befehl ''mysql_query()''.
===== Übernahme und Ausgabe der Datensätze als Feld mit mysql_fetch_array() =====
Mit dieser Funktion erhalten Sie die Datensätze einer SQL-Abfrage als Feld.
**Syntax der mysql_fetch_array()-Anweisung**
mysql_fetch_array(Abfrageergebnis [,Ergebnistyp]);
* Der anzugebende Parameter Abfrageergebnis stellt die aktuelle SQL-Abfrage dar.
* Mit der optionalen Angabe Ergebnistyp wandeln Sie die Daten des Ergebnisses in einen bestimmten Datentyp um. Die möglichen Parameter sind ''MYSQLASSOC, MYSQLNUM'' und ''MYSQLBOTH''. Hiermit bestimmen Sie, wie Sie die Elemente des Feldes ansprechen möchten. Bei ''MYSQLASSOC'' verwenden Sie den Feldnamen als Schlüssel (z.B. zeile["sorte"]), bei ''MYSQLNUM'' arbeiten Sie über die Angabe des numerischen Indexes (z. B. ''zeile[3]''). Wenn Sie die Option ''MYSQL_BOTH'' verwenden, sind beide Varianten zum Ansprechen eines Elements möglich.
* Wenn Sie keinen Ergebnistyp angeben, wird standardmäßig die Option ''MYSQL_BOTH'' verwendet.
**Beispiel: db_appelmann.php**
$server nicht herstellen!");
mysql_select_db($database, $verbindung)
or die ("Fehler beim Zugriff auf die Datenbank $database!");
$sql = "SELECT * FROM $table";
$query = mysql_query($sql);
if(!$query) echo "
SQL-Anweisung fehlgeschlagen.";
$anz = mysql_num_rows($query);
echo "
In der Tabelle $table befinden sich $anz Datensätze:
";
while ($zeile = mysql_fetch_array($query))
{echo $zeile["Name"].", "
.$zeile["Strasse"].", "
.$zeile["Ort"].", "
.$zeile["Sorte"].", "
.$zeile["Menge"]."
";
}
mysql_close($verbindung);
?>
* Die Anzahl der Datensätze ermitteln Sie mit der Funktion ''mysql_num_rows()''.
* Mithilfe der Funktion ''mysql_fetch_array()'' ermitteln Sie ein array, das dem aktuellen Datensatz der Tabelle entspricht. Gleichzeitig wird durch diese Funktion der so genannte Datensatzzeiger auf den nächsten Datensatz des Ergebnisses gesetzt. Durch die while-Schleife werden somit nacheinander alle Datensätze der Tabelle an ein assoziatives Feld (
$server nicht herstellen!");
mysql_select_db($database, $verbindung)
or die ("Fehler beim Zugriff auf die Datenbank $database!");
$sql = "SELECT * FROM $table";
$query = mysql_query($sql);
if(!$query) echo "
SQL-Anweisung fehlgeschlagen.";
$anz = mysql_num_rows($query);
echo "
In der Tabelle $table befinden sich $anz Datensätze:
";
for ($i=0;$i<$anz;$i++)
{
$name=mysql_result($query,$i,0);
$strasse=mysql_result($query,$i,1);
$ort=mysql_result($query,$i,2);
$sorte=mysql_result($query,$i,3);
$menge=mysql_result($query,$i,4);
echo $name.", ".$strasse.", ".$ort.", ".$sorte.", ".$menge."
";
}
mysql_close($verbindung);
?>
{{:inf:inf7b_201011:php:php5-s124-1.jpg?500|Anzeige der Beispieldatei "db_appelmann.php"}}