PHP: Objektorientierte Programmierung

Datensätze in einer Tabelle ausgeben

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Wenn die query-Methode verwendet wird, um einen SQL-Befehl an die DB zu übergeben, erhält man ein MySQLi-Ergebnisobjekt zurück. Dieses kann man sich mit unterschiedlichen Methoden ausgeben lassen, z. B. mit fetch_assoc.
07:05

Transkript

In dem Augenblick, wo ich mit mysqli_query einen SQL-Befehl an die Datenbank übergebe, bekomme ich ein mysqli Ergebnisobjekt wieder zurück. Und, dieses num_rows hier zum Beispiel, ist eine Methode dieses Ergebnisobjektes. Welche Formen von Ausgaben Sie jetzt sich zurückholen können, das können Sie ganz gut erkennen, wenn Sie auf die Dokumentation zu diesem Ergebnisobjekt gehen. Die finden Sie unter: php.net/manual/de/class.mysqli-result.php Gut. Die Ergebnisklasse wird hier ganz kurz beschrieben, auch mit allen ihren Methoden, Und - jede von diesen Methoden schafft es, in unterschiedlicher Art und Weise, für eine Ausgabe zu sorgen. Wir werden uns näher mit fetch_assoc beschäftigen, weil wir einfach in einer weiteren Folge uns die Datensätze ausgeben lassen wollen, und zwar dann später in einer Tabelle, und dafür ist fetch_assoc bestens geeignet. Sie könnten sich aber mit fetch_object zum Beispiel, die nächste Reihe als eigenes Objekt ausgeben lassen. Oder, wenn Sie mit fetch_row arbeiten hätten Sie die Möglichkeit, als Ausgabe einen indizierten Array zu bekommen. Mit fetch_array bekommen Sie die Möglichkeit, sowohl eines assoziativen Arrays als Rückgabe, als auch eines numerischen Arrays. Und bei fetch_all bekommen Sie sogar einen multidimensionalen Array wieder zurückgegeben, mit dem Sie dann weiterarbeiten können. Wir werden uns jetzt aber mit fetch_assoc beschäftigen, weil das einfach bestens geeignet ist, um die Daten in eine Tabelle einzubinden. Gut - das heißt, was wir jetzt brauchen ist eine kleine while-Schleife, mit deren Hilfe wir uns die Datensätze holen können. Ich habe die while-Schleife schon vorbereitet, hier ist sie und wir können uns jetzt in Ruhe anschauen, was da passiert. Ich habe hier eine neue Variable, mit der ich eben diesen assoziativen Array befülle, und der braucht als Argument, meine Rückgaben Variable. Und dann lasse ich mir eben die Datensätze ausgeben. Und zwar, greife ich einerseits auf den Eintrag zu "name" zu, und dann eben auch zu "mail", so wie ich es mir ja schon hergerichtet habe im select-Befehl. Und am Ende muss ich dann auch noch meine Datenbank wieder schließen. Gut, sehen wir uns mal das Ergebnis so weit an, mit Strg+S speichere ich mal und lasse mir jetzt die Anzeige ausgeben. Wir bekommen eine Ausgabe, aber formtechnisch ist das noch nicht wirklich das Gelbe vom Ei. Ich habe aber hier eine kleine Tabelle vorbereitet, mit der wir uns dann das Ergebnis doch sehr hübsch formatiert anzeigen lassen könnten. Ich zeige Ihnen mal so die nackte Tabelle, mit Strg+S habe ich gespeichert, so - und hier das wäre jetzt so die Tabelle, in die diese Datensätze abwandern sollen. Um das jetzt bewerkstelligen zu können, werde ich zuallererst mal mysqli_close irgendwie woanders hintun, das heißt mit Strg+X tue ich es mal weg, und tue es mal an das Ende der Tabelle, dort setze ich es in einen eigenen php-Block, dann bin ich auf der sicheren Seite, was das Schließen anbelangt, laufe jetzt aber nicht Gefahr, dass ich mir da irgendwie meine while-Schleife irgendwie ruiniere. So, und dann müssen wir uns anschauen an welchem Teil der Tabelle, wir jetzt tatsächlich diese while-Schleife einbauen wollen. Was eigentlich fix bleibt, ist der Kopfteil der Tabelle, das heißt, eigentlich sollte ich hier mit meiner while-Schleife beginnen. Ich starte also einen neuen php-Block und weil ich relativ schreibfaul bin, kopiere ich mir, beziehungsweise schneide ich mir jetzt diese Zeile aus, und füge sie hier wieder ein. Gut - nachdem wir uns jetzt innerhalb eines php-Blocks befinden, müssen wir uns diese Ausgabe hier, mit Hilfe von echo zurückgeben lassen, es gibt natürlich auch andere Methoden, aber - die liegt jetzt hier ganz gut auf der Hand, weil ich ja gerade am Tun bin, und dasselbe machen wir hier - wir lassen uns zuerst die Zeile ausgeben, und mit einem Verbindungsoperator holen wir uns jetzt den ersten Eintrag, und fügen ihn hier ein, wieder einen Verbindungsoperator und - die Anführungszeichen, Strichpunkt. So, weil ich ein fauler Mensch bin, kopiere ich mir das jetzt mit Strg+C, Strg+V und tausche mir hier jetzt nur die Bezeichnung aus, dieses hier brauchen wir nicht, aber hierfür brauchen wir noch mal einen echo-Befehl. So, das war es. Jetzt müssen wir nur noch unseren php-Block schließen. Und ich glaube mir fehlt auch noch eine schließend geschwungene Klammer. Es fehlt mir nicht, sondern im Gegenteil, ich habe es zu viel. Gut, ich speichere jetzt meine Ausgabe, frische meine Anzeige auf, und habe jetzt die Daten in meine vorgefertigte Tabelle integrieren können. Wie gesagt, fetch_assoc ist nur eine von vielen Methoden, mit deren Hilfe Sie sich das Ergebnis aus der Datenbank zurückholen können. Aber wenn es darum geht, eben Datensätze in einer Tabelle zu hinterlegen, ist doch fetch_assoc eine ziemlich praktische Möglichkeit dafür.

PHP: Objektorientierte Programmierung

Lernen Sie alle Aspekte kennen, die bei der Umsetzung des OOP-Programmierstils in PHP eine Rolle spielen.

2 Std. 32 min (34 Videos)
Derzeit sind keine Feedbacks vorhanden...
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:23.09.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!