baseportal
Suche: 
 Forum   Start 

get_next - Gefundene Einträge durchlaufen

 
Um nach der Abfrage mit get die gefundenen Einträge der Reihe nach zu durchlaufen, gibt es den Befehl get_next.

Definition:

get_next Ergebnis;

Holt den nächsten Datensatz von Ergebnis und speichert ihn in Variablen, mit den entsprechenden Feldnamen. Ohne Angabe von Ergebnis wird die zuletzt abgerufene Datenbank genommen.

Beispiele:

get;
while(get_next)
{
  out "Name: $Name - Auto: $Auto<br>";
}

Holt alle Datensätze der zur Seite gehörigen oder per URL übergebenen Datenbank und gibt sie aus.


<perl>
get "Vorname==_", "Personen";
while(get_next("Personen"))
{
    out "$Name<br>";
}
</perl>

Gibt alle Einträge der Datenbank "Personen" aus, bei denen das Feld "Vorname" leer ist.


Mehrere Abfragen verschachteln

Mehrere Abrufe von "get" und "get_next" können verschachtelt werden:

get "Id==*", "kunden";
while(get_next("kunden"))
{
  out "Kunde: $Name<br>";
  get "Name==$Auto", "autos";
  out "Auto: $Name<br>";
  out "Beschreibung: $Beschreibung<p>";
}

Hier wurde eine Relation zwischen den beiden Datenbanken "kunden" und "autos" hergestellt. Jeder Datensatz eines Kunden enthält ein Feld "Auto" mit dem Autonamen des Kunden. Dieser Wert wird verwendet, um den passenden Eintrag aus der Datenbank "autos" zu holen und die Beschreibung für dieses Auto auszugeben.

Sie können auch verschiedene Abfragen derselben Datenbank speichern. Zur Unterscheidung dient der "Ergebnis"-Parameter:

get "Name~=a", "kunden";
get "Name~=b", "kunden", "kmitb";

out "<p>Alle Kunden mit a:</p>";
while(get_next("kunden"))
{
  out "Kunde: $Name<br>";
}

out "<hr><p>Alle Kunden mit b:</p>";
while(get_next("kmitb"))
{
  out "Kunde: $Name<br>";
}

Zuerst werden alle Datensätze, die mit "a" beginnen aus der Datenbank "kunden" geholt und im gleichnamigen Ergebnis gespeichert. Dann werden alle Datensätze, die mit "b" beginnen im Ergebnis "kmitb" gespeichert. Schliesslich werden beide Ergebnisse in entsprechenden Schleifen mit "get_next" ausgegeben.


Sie können auch direkt über den Ergebnishash auf einen bestimmten gefundenen Datensatz zugreifen, ohne die Datensätze der Reihe nach mit get_next zu durchlaufen.

Letzte Änderung am 21.3.2009, 08:46 - Stichworte: get_next, Mehrere Einträge durchlaufen, Gefundene Einträge durchlaufen, Einträge durchlaufen, Relation, Abfragen verschachteln

c - o - + 
© baseportal GmbH. Alle Rechte vorbehalten.


powered in 0.02s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!