Dynamic Web Pages: deutschsprachiger PHP Knotenpunkt seit 1999

Dynamic Web Pages : tutorials _





 
 
 
 
 
 
 

PHP QuickRef

Via QuickRef gelangen Sie direkt zur gesuchten Funktion im Handbuch.

 
 

Printmedien

PHP-Magazin
Das PHP Magazin erscheint 2-monatlich zum Preis von 9,80 €. Studenten erfreuen sich über ermäßigte Abos.

PHP-Journal
Das PHP Journal erscheint 2-monatlich zum Preis von 14,95 €. Studenten und Abonnenten erfreuen sich über bis zu 25% Ermäßigung.

PHP Solutions Magazin
Das PHP Solutions Magazin erscheint alle 3 Monate zum Preis von 8,75 €. Studenten erfreuen sich über ermäßigte Abos.

PHP-Architect
Der php|architect erscheint monatlich als digitale PDF-Version zum Preis von $3,99 USD und als Print-Version zum Preis von $8,69 USD. Im Abo gibt es Rabatt (30% Print, 15% PDF).

 
MySQL und PHP Tutorial
 
Wolfgang Drews   Wolfgang Drews       

 
Teil 2 Datenbank abfragen

(1) Datenbank mit Daten füttern ...

Wir füttern jetzt erstmal die gerade erstellte Datenbank mit ein paar Werten, damit wir diese später mittels PHP3-Skript wieder abfragen können.

dazu könnten wir wiederum den mysql aufrufen, aber da das zu kompliziert ist, alle Daten dort einzugeben, tragen wir unsere Daten in den Notepad ein und übergeben dann später alles nach mysql. 

Folgendes geben wir in den Notepad ein:

INSERT INTO eintraege VALUES (1,'Mustermann','Max','max@mustermann.de','1999-10-01 05:05:05','Biete Kuehlschrank, FCKW-frei, USA-Style, groß, schwer, hoher Energieverbrauch',299.00,0);
INSERT INTO eintraege VALUES (2,'Grass','Guenther','guenther@grass.de','1999-10-02 15:25:44','Biete Pfeife, alt und eklig ...',2.50,0);

Dann speichern wir das ganze unter c:\mysql\bin als "floh.dump". Nun geben wir unter c:\mysql\bin folgendes ein:

mysql -u root flohmarkt < floh.dump

und schon haben wir die beiden Datensätze in der Datenbank. Das müssen wir natürlich überprüfen, und jetzt kommt endlich PHP ins Spiel.

(2) Daten aus der Datenbank abrufen:

<html>
<body>
<?

$db = mysql_connect("127.0.0.1","root");

mysql_select_db("flohmarkt",$db);

$result = mysql_query("SELECT * FROM eintraege",$db);

while ($myrow = mysql_fetch_row($result)) {

printf("Laufende Nummer: %s <br>Name: %s<br>Vorname: %s<br>Email: <a href='mailto:%s'>%s</a><br>Datum: %s<br>Eintrag: %s<br>Preis: %s<br>Angebot(0) oder Gesuch (1): %s<br><br><br>", $myrow[0], $myrow[1], $myrow[2], $myrow[3], $myrow[3], $myrow[4], $myrow[5], $myrow[6], $myrow[7]);

}

?>
</body>
</html>

Mit so wenig Code kann man doch tatsächlich sämtliche Informationen aus der Datenbank auslesen. Also schauen wir uns mal genauer an, was da oben passiert:

In der Variablen $db wird die Connection zur Datenbank gespeichert. Hier wird eine Connection zum localhost (127.0.0.1) für den User Root aufgebaut. Standardmäßig wird für den Root kein Passwort eingerichtet, dieses ist aber bei anderen Usern (z.B. einem Webuser) als 3. Argument mit zu übermitteln.

der "mysql_select_db" - Befehl wählt die Datenbank "flohmarkt" aus.

Nun speichern wir in der Variablen $result den gesamten Inhalt der Datenbank. mysql_query steht einer Anweisung an die Datenbank voran. In Klammern ist die genaue Befehlssyntax notiert. Mit "Select" sagen wir der Datenbank, dass es sich um eine Abfrage handelt. Das "*" steht für alle Daten der Datenbank. Wir könnten hier auch nur die Email-Adresse abfragen, dann stünde dort statt dem "*" lediglich "email". Hier können natürlich auch mehrere Spalten ausgewählt werden. "FROM" zeigt an, aus welcher Table wir die Daten haben wollen.

Hier gäbe es natürlich noch viel mehr Optionen, die ich aber aus Platzgründen weglasse.

Also wie gesagt, in $result ist nun der gesamte Inhalt der Datenbank gespeichert. Aber irgendwie müssen wir das jetzt ja leserlich auf den Bildschirm zaubern. Dazu dient die while-Abfrage. 

Die MySQL-Befehl "mysql_fetch_row()" gibt einen Array zurück. D.h. wir laufen alle "rows" durch, und solange dort Daten vorhanden sind, werden diese dem Array $myrow[] zugewiesen. Im Detail: Die laufende Nummer (id) wird immer dem Array $myrow mit Index 0 zugewiesen ($myrow[0]). Die Email immer dem Array $myrow mit Index 3 ($myrow[3]). So können wir mittels der printf - Funktion nun alle Daten auf dem Bildschirm ausgeben. Z.B. auch nur alle Namen:

printf("Name: %s<br>", $myrow[1]);

Nach diesem System lassen sich alle Daten aus der Datenbank abrufen. Ändern wir den SELECT-Befehl, lassen sich auch nur spezielle Daten abfragen, die wichtigste Befehl ist hier für uns erstmal der Befehl WHERE. Damit können wir z.B. auswählen ,dass nur Angebote, oder nur Gesuche ausgegeben werden sollen.

Wir haben ja gesagt, dass bei Angeboten "goa" auf "0", und bei Gesuchen auf "1" gesetzt wird. Folgende Anweisung:

$result = mysql_query("SELECT * FROM eintraege WHERE goa=0",$db);

würde bewirken, dass nur Angebote angezeigt werden. Wenn wir "goa" allerdings auf "1" setzen, dann würde in unserem Beispiel keine Ausgabe gemacht werden, da wir ja kein Gesuch in der Datenbank haben. 
 

zurück    [ 1 2 3 4 5  ]    weiter
 
MySQL und PHP Tutorial (52 Kommentare)
  26.07.2000:   Sortieren (8)
  18.12.2000:   Synchronisieren (0)
  10.01.2001:   LOB (4)
  27.02.2001:   feedback (4)
  20.03.2001:   Kleiner Bug (1)
  25.04.2001:   Vielen Dank (0)
  27.04.2001:   Respekt (0)
  07.05.2001:   MYSQL und PHP Tutorial (3)
  21.05.2001:   Neue Beiträge anzeigen?? (1)
  08.06.2001:   download? (5)
  10.06.2001:   Feedback (0)
  25.07.2001:   Licht ... (0)
  28.07.2001:   ausgabe der datenbank verändern (1)
  15.08.2001:   Fehlermeldung (2)
  11.09.2001:   Fehler bei Variable (2)
  12.09.2001:   date time ausgeben (9)
  08.10.2001:   Wozu Bücher kaufen ? (1)
  10.10.2001:   Warning: Undefined variable (4)
  26.10.2001:   Formatierung durch date (0)
  15.11.2001:   Datensätze in DB einfügen (4)
  07.12.2001:   Punkt (2) des Tutorials (2)
  13.12.2001:   Hinzufügen von Datensätzen (0)
  16.01.2002:   fehlermeldung (Tut. ist aber super) (0)
  27.01.2002:   Tut. ist super, aber bei mir hats einaml gehakt. (0)
  31.01.2002:   Ideengeber gesucht! (5)
  21.02.2002:   punkt2/3 (1)
  16.03.2002:   Strato Problem mit php (5)
  12.05.2002:   Löschen von Datensätzen (0)
  29.05.2002:   sehr schönes tutorial (0)
  29.05.2002:   Multiple Selektion? (0)
  15.06.2002:   Variablen in MYsql speichern (1)
  08.08.2002:   COUNT (0)
  12.08.2002:   Datensatz Online per Form wird nicht eingefügt! (1)
  09.09.2002:   Checkbox (0)
  09.09.2002:   Checkbox (0)
  08.10.2002:   CMS (0)
  09.10.2002:   2 Dinge... (0)
  18.10.2002:   Forbidden Meldung beim Versuch Daten an Mysql zu übergeben (0)
  22.11.2002:   No Database Selected (1)
  27.11.2002:   Bestätigung der Anzeige (0)
  28.05.2003:   Das beste Tutorial das ich je gesehen habe! (0)
  08.08.2003:   Werde noch wahnsinnig... (1)
  30.08.2003:   Funktioniert toll, bis auf.. (0)
  19.09.2003:   var. fehler bei teil 3 evtl gelöst (2)
  17.06.2004:   Datensatz hinzufügen: so geht's (bei mir)! (3)
  13.12.2003:   Fehler 1064 (0)
  08.01.2004:   Formulare (0)
  16.06.2004:   Lob und Hilfe (0)
  23.06.2004:   Ausgabe von Texten (0)
  01.09.2004:   mysql und PHP (1)
  06.07.2005:   Datensatz Online per Form wird nicht eingefügt! (0)
  26.10.2006:   PHP Tutorial (0)
zurück
   
powered by Hetzner


top Alle Rechte vorbehalten. © Dynamic Web Pages 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 top

  Seitenaufbau in 0.026 Sekunden