Daten aus der Datenbenk abrufen
In diesem Abschnitt möchten wir euch zeigen wie Ihr Daten aus der Datenbank abruft. Für diesen Prozess
verwedn wir die Funktion mysql_db_query(); , im Unterschied zum Einfügen von Daten arbeiten wir bei
dieser Aktion mit einer Variablen, der uns die Daten aus der Datenbank stammenden Daten zuweist.
Der SQL - Befehl, mit dem wir Daten aus einer Tabelle lesen lautet:
SELECT * FROM $Tabellenname;
Das Sternchen besagt, dass alle Felder die sich in einer Tabelle befinden abgefragt werden, was jedoch
oft genau das ist, was benötigt wird. Wir können die Abfrage jedoch auch auf einzelne Felder einschrenken.
Dies ist dann zu empfehlen wenn nicht alle Werte benötigt werden. Angenommen unsere Tabelle besteht
aus
den Feldern: Name, Vorname, Strasse, PLZ, und Ort, wir möchten jedoch nur den Namen, PLZ und den
Ort
angezeigt bekommen, dann macht es Sinn diese Werte die angezeigt werden sollen anzugeben.
Dadurch wird die Abfrage eingeschränkt und die Werte die angezeigt werden sollen schneller aus der
Datenbank zurückgegeben, dann schreiben wir statt dem Sternchen die Namen der Felder, aus denen
Daten gesammelt werden sollen wie folgt:
SELECT Name,PLZ,ORT FROM &Tabellenname;
Es gibt noch eine andere Möglichkeit, die Abfrage einzuschränken. Wir können auch anweisen, dass nur
bestimmte Eingaben desammelt werden. Wenn wir beispielsweise schreiben:
SELECT * FROM $Tabellenname WHERE Vorname="Dieter";
Jetzt geben wir an das alle Felder durchsucht werden sollen jedoch nur die Daten ausgelesen werden sollen,
wo im Feld Vorname Dieter gespeichert ist. Den wichtigsten Unterschied zwischen dem Einfügen von Daten in
eine Datenbank und der Gewinnung von Daten aus einer Datenbank entecken wir in dem Umgang mit der Abfrage einer Variablen zuzuweisen. Das würde z.B. ao aussehen, (wobei der SQL - String in der Variablen
$query gespeichert ist):
ergebnis=mysql_db_query(db_name, $query, $link);
In der Variablen $ergebnis steht nun die gesamte Ergebnismenge, oder besser gesagt, alle Datensätze,
die unsere Abfragebedingungen erfüllen, stehen nun un der Variablen $ergebins.
Um die Informationen Zeile für Zeile zu erhalten, steht die Funktion mysql_fetch_arry() zur Verfügung.
Mit dieser Funktion schreibeben wir die Informationen einer Zeile in ein assoziatives Array, wobei die Feld-
namen der abgefragten Datenbanktabellen als Schlüssel verwendet werden. Die Funktion rutscht in der
Zeilen der Ergebnisliste automatisch eine Zeile weiter. Wir müssen diese Funktion für alle Zeilen der
Ergebnismenge anwenden. Die Anzahl der Zeilen des Ergebnisses können wir mit mysql_num_rows()
ermitteln. Um alle Variablen $ergebnis in ein mehrdimensionales Array zu schreiben, können wir
folgende for - Schleife verwenden:
for($i=0;$i<mysql_num_rows($ergebnis);$i++)
{
$array[$i]=mysql_fetch_array($ergebis);
}
Alternativ kann man auch eine sogenannte while - Schleife verwenden, diese sieht wie folgt aus:
$i=0;
while($array[$i]=mysql_fetch_array($ergebnis))
{
$i=++$i;
}
Um die Datensätze der Ergebnisliste zu sortieren, müssen wir den SQL - String erweitern.
Mit dem ORDER BY Name, sagen wir der Datenbank, nach welchen Feld sortiert werden
soll.
Mit der Anweisung ORDER BY
Name ASC wird absteigend sortiert, mit der Anweisung DESC wird
aufsteigend sortiert. Ein SELECT String sieht dann so aus:
SELECT * FROM $Tabellenname WHERE Vorname="Dieter" ORDER BY Nachname ASC
Jetzt wo das Ergebnis unserer Abfrage in einem Array geschrieben wurden ist, können wir diesen
Arbeitsspeicher, der die Ergebnisliste belegt wieder freigeben. Dies tun wir mit dem Befehl
mysql_free_result() also:
mysql_free_result($ergebnis);
Werte manipulieren
Um die Werte eines vorhandenen Datensatzes zu ändern, steht das SQL - Statement
UPDATE $Tabellenname SET spaltenname=wert, spaltenname2=wert WHERE Bedingung
zur Verfügung. Möchten wir einen Datensatz der die ID 100 den neuen Wert Klaus im Feld Vornamen
zuweisen, würde das SQL - Statement wie folgt geschrieben:
$aendern ="UPDATE $Tabellenname SET Vorname='Klaus' WHERE ID=100";
Diesen SQL - String schicken wir wieder mit mysql_db_query an die Datenbank. Alle Datensätze, die die Bedingung hinter dem WHERE erfüllen, werden aktuallisiert. In diesem Beispiel wird nur der Vorname
welches die ID 100 hat geändert.
Datensatz löschen
Wir können auch einzelne sowie mehrere Datensätze in einem Rutsch aus einer Tabelle löschen, je nach
dem wie wir die Bedingung formulieren. Das SQL Statementlautet:
$loeschen ="DELET FROM $Tabellenname WHERE Bedingung
Das gesamte PHP - Script im Überblick:
<html>
<head>
<title>Daten aus der Datenbank abrufen </title>
</head>
<body>
<?php
</body></html> |
Kleiner Hinweis: Wir bieten auch ein Pagrenkservice an. <<Keine Angst anmelden kostet NIX!>>
RANKING CHARTS
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20
|