base
portal
Suche:
Forum
Start
Neue Seite erstellen
Titel:
Um nach der Abfrage mit [48:get] die gefundenen Einträge der Reihe nach zu durchlaufen, gibt es den Befehl <c>get_next</c>. <b>Definition:</b> <codeparse> get_next <i>Ergebnis</i>; </codeparse> Holt den nächsten Datensatz von <i>Ergebnis</i> und speichert ihn in Variablen, mit den entsprechenden Feldnamen. Ohne Angabe von <i>Ergebnis</i> wird die zuletzt abgerufene Datenbank genommen. <b>Beispiele:</b> <code>get; while(get_next) { out "Name: $Name - Auto: $Auto<br>"; } </code> Holt alle Datensätze der zur Seite gehörigen oder per URL übergebenen Datenbank und gibt sie aus. <code> <perl> get "Vorname==_", "Personen"; while(get_next("Personen")) { out "$Name<br>"; } </perl> </code> Gibt alle Einträge der Datenbank "Personen" aus, bei denen das Feld "Vorname" leer ist. <h2>Mehrere Abfragen verschachteln</h2> Mehrere Abrufe von "get" und "get_next" können verschachtelt werden: <code> get "Id==*", "kunden"; while(get_next("kunden")) { out "Kunde: $Name<br>"; get "Name==$Auto", "autos"; out "Auto: $Name<br>"; out "Beschreibung: $Beschreibung<p>"; } </code> 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: <code> 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>"; } </code> 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. <achtung> Wenn Sie verschachtelte Datenbankaufrufe benutzen, dann müssen Sie zwingend einen Wert bei <i>Ergebnis</i> angeben, da baseportal sonst nicht unterscheiden kann, welcher Aufruf zu welcher Datenbank gehört und es zu Fehlausgaben oder sogar Datenverlusten kommen kann. </achtung> Sie können auch direkt über den [1427:Ergebnishash] auf einen bestimmten gefundenen Datensatz zugreifen, ohne die Datensätze der Reihe nach mit <c>get_next</c> zu durchlaufen.
Name:
Passwort:
Stichworte:
Version:
1
2
3 Angebot:
Alle
Nur Miete / Lizenz
Nur Miete / Lizenz professional
Nur Miete
Nur Miete smart + pro
Nur Miete smart + pro / Lizenz
Nur Miete pro
Nur Miete ab pure2, smart2, pro1
Nur Lizenz
Nur Lizenz professional
Nur Kostenlos
Ohne Änderungen zurück zur Seite
-
+
©
baseportal
GmbH. Alle Rechte vorbehalten.
powered in 0.02s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!