Einbinden von SQL-Abfragen: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: Überarbeiteter Inhalt von: http://sql.idv.edu/thema/sqltutorial/verwendung.htm |
KKeine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
Wie bereits zu Beginn erwähnt macht SQL für sich selbst kaum Sinn. Es wird meist von anderen Programmiersprachen als "Transportmittel" verwendet, um Daten aus Datenbanken zu erhalten und dann weiterzuverarbeiten oder zu manipulieren. | |||
http://sql. | == Einbinden über PHP == | ||
SQL-Abfragen lassen sich mit PHP direkt in den Quelltext einer Website einpflegen, so dass der Inhalt dieser Sites dynamisch anhand des Datenbankinhaltes generiert werden kann. Sehr viele moderne Websites setzen auf diese effiziente Vorgehensweise, weshalb hier kurz ein Beispiel gezeigt werden soll. | |||
<pre><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | |||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-at" lang="de-at"> | |||
<head> | |||
<title>Ausgabe</title> | |||
</head> | |||
<body> | |||
<h1>Ausgabe von Vorname, Nachname und Plz</h1> | |||
<table> | |||
<tr> | |||
<th>Vorname</th> | |||
<th>Nachname</th> | |||
<th>Plz</th> | |||
</tr> | |||
<?php | |||
/* Datenbankverbindung wird hergestellt | |||
und Datenbank wird ausgewählt */ | |||
$conn = mysql_connect($servername,$benutzername,$password) | |||
or die ("Keine DB Verbindung hergestellt"); | |||
mysql_select_db($datenbankname, $conn); | |||
$sql = "SELECT Vorname, Nachname, Plz FROM Kunde ORDER BY Plz"; | |||
/* Variable wird mit einem SQL Ergebnis gefüllt */ | |||
$rs_liste = mysql_query($sql, $conn); | |||
$pointer = 0; // Hilfsvariable wird initialisiert | |||
/* Ergebnisausgabe nur falls die Anzahl der Datensätze > 0 ist */ | |||
if (mysql_num_rows($rs_liste) > 0) | |||
{ | |||
/* In einer Schleife werden die Datensätze Reihe | |||
für Reihe ausgegeben */ | |||
while (mysql_fetch_row($rs_liste)) | |||
{ | |||
$vorname = mysql_result($rs_liste, $pointer, "Kunde.Vorname"); | |||
$nachname = mysql_result($rs_liste, $pointer, "Kunde.Nachname"); | |||
$plz = mysql_result($rs_liste, $pointer, "Kunde.Plz"); | |||
/* Erzeugung von HTML Tabellenzeilen die | |||
mit den Ergebnisdatensätzen gefüllt sind */ | |||
echo "<tr>"; | |||
echo "<td>" . $vorname . "</td>"; | |||
echo "<td>" . $nachname . "</td>"; | |||
echo "<td>" . $plz . "</td>"; | |||
echo "</tr>"; | |||
/* Hilfsvariable wird um 1 erhöht um beim nächsten | |||
Durchlauf der Schleife zum nächsten Datensatz des | |||
Ergebnisses zu kommen */ | |||
$pointer++; | |||
} | |||
} | |||
else | |||
{ | |||
/* Ausgabe eines Hinweises falls Anzahl | |||
der gefundenen Datensätze = 0 ist */ | |||
echo "Es wurden keine Datensätze gefunden"; | |||
} | |||
mysql_free_result($rs_liste); // SQL Abfrage wird geschlossen | |||
mysql_close($conn); // Datenbankverbindung wird geschlossen | |||
?> | |||
</table> | |||
</body> | |||
</html></pre> |
Version vom 2. März 2009, 15:07 Uhr
Wie bereits zu Beginn erwähnt macht SQL für sich selbst kaum Sinn. Es wird meist von anderen Programmiersprachen als "Transportmittel" verwendet, um Daten aus Datenbanken zu erhalten und dann weiterzuverarbeiten oder zu manipulieren.
Einbinden über PHP
SQL-Abfragen lassen sich mit PHP direkt in den Quelltext einer Website einpflegen, so dass der Inhalt dieser Sites dynamisch anhand des Datenbankinhaltes generiert werden kann. Sehr viele moderne Websites setzen auf diese effiziente Vorgehensweise, weshalb hier kurz ein Beispiel gezeigt werden soll.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-at" lang="de-at"> <head> <title>Ausgabe</title> </head> <body> <h1>Ausgabe von Vorname, Nachname und Plz</h1> <table> <tr> <th>Vorname</th> <th>Nachname</th> <th>Plz</th> </tr> <?php /* Datenbankverbindung wird hergestellt und Datenbank wird ausgewählt */ $conn = mysql_connect($servername,$benutzername,$password) or die ("Keine DB Verbindung hergestellt"); mysql_select_db($datenbankname, $conn); $sql = "SELECT Vorname, Nachname, Plz FROM Kunde ORDER BY Plz"; /* Variable wird mit einem SQL Ergebnis gefüllt */ $rs_liste = mysql_query($sql, $conn); $pointer = 0; // Hilfsvariable wird initialisiert /* Ergebnisausgabe nur falls die Anzahl der Datensätze > 0 ist */ if (mysql_num_rows($rs_liste) > 0) { /* In einer Schleife werden die Datensätze Reihe für Reihe ausgegeben */ while (mysql_fetch_row($rs_liste)) { $vorname = mysql_result($rs_liste, $pointer, "Kunde.Vorname"); $nachname = mysql_result($rs_liste, $pointer, "Kunde.Nachname"); $plz = mysql_result($rs_liste, $pointer, "Kunde.Plz"); /* Erzeugung von HTML Tabellenzeilen die mit den Ergebnisdatensätzen gefüllt sind */ echo "<tr>"; echo "<td>" . $vorname . "</td>"; echo "<td>" . $nachname . "</td>"; echo "<td>" . $plz . "</td>"; echo "</tr>"; /* Hilfsvariable wird um 1 erhöht um beim nächsten Durchlauf der Schleife zum nächsten Datensatz des Ergebnisses zu kommen */ $pointer++; } } else { /* Ausgabe eines Hinweises falls Anzahl der gefundenen Datensätze = 0 ist */ echo "Es wurden keine Datensätze gefunden"; } mysql_free_result($rs_liste); // SQL Abfrage wird geschlossen mysql_close($conn); // Datenbankverbindung wird geschlossen ?> </table> </body> </html>