Jetzt neu: Handgebundene Tagebücher und Notizhefte by Unkelbach Art Handgebundene Notizhefte

Gesundheitliche Gründe zwingen - und bringen(!) - mich zu Veränderungen, die so nie geplant waren: Statt mit Variablen, Schleifen und Abfragen, arbeite ich jetzt mit wundervollem Papier: hauchdünnes Transparentpapier, mattweißes Schreibpapier, rustikales Kraftpapier, flexibler, schwarzer Karton, feste Graupappe und viele mehr. Aus allen entstehen handgebundene Notizbücher, Tagebücher und Notizhefte, die schon beim Ansehen Freude machen - stellt euch mal vor, wie toll es ist, auch noch darin zu schreiben!

PHP für dich bleibt euch natürlich in seiner aktuellen Form erhalten und vielleicht sehen wir uns ja mal bei Unkelbach Art, auf Facebook oder Instagram oder ihr holt euch eines meiner Produkte. Es wäre mir eine große Freude!
Mehr dazu...

MySQL

Jetzt schauen wir uns...

... die Daten auch tatsächlich an.

Nachdem wir nun die Abfrageergebnisse in einer Variable gespeichert haben, könnte man annehmen, dass man diese Variable einfach nur mittels echo ausgeben muss. Dem ist aber (leider) nicht so.

Die Daten, die wir erhalten haben, verhalten sich ähnlich wie ein Array, müssen jedoch erst übergeben werden.

Wollen wir alle Daten ausgeben (bzw. alle Datensätze) verwenden wir am besten eine while-Schleife, die alle Datensätze übernimmt und ausgibt und solange ausgeführt wird, wie Datensätze im Abfrageergebnis vorhanden sind.

Zur Übernahme der Datensätze wird der Befehl mysqli_fetch_object verwendet.
<?php
$ergebnis = mysqli_query($db, "SELECT url, urlname FROM links");
while($row = mysqli_fetch_object($ergebnis))
{
  echo $row->url;
}
?>
Das schaut auf den ersten Blick viel komplizierter aus, als es tatsächlich ist.

Die erste Zeile macht das, was wir bereits durchgeführt haben (die Abfrage erstellen und ausführen) und ist hier nur, um klar zu machen, was genau wir abgefragt haben.

Danach kommt die while-Schleife. Die Bedingung dazu lautet "solange ein Eintrag aus der Variable Ergebnis als Arrayinhalt in die Variable row geschrieben wird führe die Schleife aus" - dadurch werden alle Datensätze ausgegeben und die while-Schleife automatisch beendet, wenn alles ausgegeben ist.

Schließlich die Anweisung zur while-Schleife. Hierbei wird mittels echo Befehl jeweils der Inhalt der Spalte url ausgegeben (das $row->url ist notwendig, weil wir so die jeweilige Spalte ansprechen).

Über $row-> und den Spaltennamen können die Spalten beliebig angesprochen werden.

Hier wird nur eine URL nach der anderen ausgegeben. Wenn die einzelnen Inhalte voneinander getrennt werden sollen müssen wir das zusätzlich in der while-Schleife angeben, z. B. so:
<?php
$ergebnis = mysqli_query($db, "SELECT url, urlname FROM links");
while($row = mysqli_fetch_object($ergebnis))
{
  echo $row->url;
  echo "<br />";
}
?>
Dadurch würde nach jeder URL eine neue Zeile anfangen.

Für besondere Ausgaben (wie z. B. Tabellen, die jeweils eine bestimmte Anzahl von Spalten haben sollen) genügt ebenfalls eine while-Schleife, jedoch sieht diese dann weitaus umständlicher und komplizierter aus und ist darüber hinaus verschachtelt. Aber das Prinzip bleibt immer gleich.

Als nächstes wäre von Interesse, wie über PHP (also z. B. mittels eines Onlineformulares) Datensätze in der Datenbank aufgenommen werden können.



Dieses Kapitel behandelt einen ersten Einstieg in die Arbeit mit mySQL-Datenbanken. Es dient dem grundsätzlichen Verständnis der Kommunikation zwischen PHP und der Datenbank. Für den produktiven Einsatz ist es sinnvoll, sich detailierter mit diesem Thema zu beschäftigen und besonderen Augenmerk auf Sicherheitsaspekte zu legen.

Autor: Claudia Unkelbach


Spenden via PayPal

=> Weiter
© 2001 - 2020 Claudia Unkelbach
Gießener Straße 75, 35396 Gießen