base
portal
Suche:
Forum
Start
Neue Seite erstellen
Titel:
<table> <tr> <font face="arial" size="2"> <td><font face="arial" size="2"><center> <table cellpadding="10" width="90%"> <tbody> <tr> <td bgcolor="#f0f0f0"><font face="arial," size="2" helvetica><b>Know-How: Sortierung (Index-Erstellung)</b> <p>Mit der Sortierung hat es folgende Bewandtnis: Natürlich wollen wir unsere Datenbank später auch durchsuchen. Bei vielen Tausend oder sogar Millionen Einträgen würde ein zeilenweises Durchsuchen von vorne bis hinten sehr lange dauern. Zum Glück gibt es einen Ausweg: Die Datenbank sortiert bestimmte Felder vor (man sagt auch, sie erstellt einen "Index" auf die Daten). Egal wie gross die Datenmengen sind, der Zugriff geschieht nun immer sehr schnell. Allerdings hat diese Methode auch Nachteile: Zum einen benötigt man dafür zusätzlichen Speicherplatz und zum anderen muss bei jedem Hinzufügen oder Ändern von Daten neu sortiert werden. Aus diesem Grund sollte man nur Felder sortieren, die man später auch zur Suche braucht.</font></p> </td> </tr> </tbody> </table> </center> <p><b>Definition:</b> <p> <table cellpadding="10" width="90%"> <tbody> <tr> <td bgcolor="#f0f0f0"><font size="3"><code>sort=[-]<i>Feld</i>[,[-]<i>Feld</i>...]</code></font></td> </tr> </tbody> </table> <br> Wie bei den Abfragen, können Sie auch nur nach Feldern sortieren, bei denen Sie in der Datenbank-Definition eine Sortierung ausgewählt haben. Beachten Sie den Unterschied zwischen der Sortierung als "Zahl" oder "Text": <p> <table cellspacing="0" cellpadding="4" width="30%" border="1"> <tbody> <tr bgcolor="#e0e0e0"> <td><font face="arial" size="2">Zahl</font></td> <td><font face="arial" size="2">Text</font></td> </tr> <tr> <td><font face="arial" size="2">1</font></td> <td><font face="arial" size="2">1</font></td> </tr> <tr> <td><font face="arial" size="2">7</font></td> <td><font face="arial" size="2">10</font></td> </tr> <tr> <td><font face="arial" size="2">10</font></td> <td><font face="arial" size="2">115</font></td> </tr> <tr> <td><font face="arial" size="2">13</font></td> <td><font face="arial" size="2">13</font></td> </tr> <tr> <td><font face="arial" size="2">22</font></td> <td><font face="arial" size="2">22</font></td> </tr> <tr> <td><font face="arial" size="2">76</font></td> <td><font face="arial" size="2">7</font></td> </tr> <tr> <td><font face="arial" size="2">115</font></td> <td><font face="arial" size="2">76</font></td> </tr> </tbody> </table> <p>Die ungewohnte Reihenfolge bei obiger Textsortierung erklärt sich dadurch, dass Texte zeichenweise verglichen werden und keine Wertigkeit der einzelnen Stellen haben, wie Zahlen. <p><b>Beispiele:</b> <p>Ohne Abfragebedingung wird der komplette Inhalt einer Datenbank in chronologischer Reihenfolge ausgegeben (die zuerst eingetragenen zuerst). Mit Abfrage erfolgt die Sortierung nach dem ersten abgefragten Feld: <p> <table cellpadding="10" width="90%"> <tbody> <tr> <td bgcolor="#f0f0f0"><font size="3"><code><do action=all Name~=ba></code></font></td> </tr> </tbody> </table> <br> Gibt die Einträge sortiert nach dem Feld "Name" aus, z.B: "Bachmann", "baller", "Baffke", "Baumann" usw. <p>Soll die Ausgabe nach einem anderen Feld sortiert werden, als abgefragt wird, kann dies mit "sort" bestimmt werden. <p> <table cellpadding="10" width="90%"> <tbody> <tr> <td bgcolor="#f0f0f0"><font size="3"><code><loop Name~=ba sort=Vorname>$Name, $Vorname<br></loop></code></font></td> </tr> </tbody> </table> <br> Gibt alle Einträge aus, bei denen das Feld "Name" mit "ba" anfaengt, sortiert nach dem Feld "Vorname", also z.B. "Baffke, Claudia", "baller, jochen", "Baumann, Karen", "Bachmann, Stefan" usw. <p><b>Tip:</b> Soll der komplette Inhalt ausgegeben werden, allerdings sortiert nach einem bestimmten Feld, geben Sie folgendes an: <p> <table cellpadding="10" width="90%"> <tbody> <tr> <td bgcolor="#f0f0f0"><font size="3"><code><do action=all Name==*></code></font></td> </tr> </tbody> </table> <br> Der Stern "*" bedeutet: "Passt auf alles". Es werden also alle Einträge ausgegeben, allerdings sortiert nach dem Feld "Name". Dies ist (vor allem bei grossen Datenbanken) schneller als ein "sort=Name". <p>Soll die Ausgabe umgekehrt werden, muss ein Minuszeichen "-" vor der Feldangabe stehen: <p> <table cellpadding="10" width="90%"> <tbody> <tr> <td bgcolor="#f0f0f0"><font size="3"><code><loop Name~=ba sort=-Vorname>$Name, $Vorname<br></loop></code></font></td> </tr> </tbody> </table> <br> Gibt alle Einträge, bei denen das Feld "Name" mit "ba" anfaengt, sortiert nach dem Feld "Vorname", in umgekehrter Reihenfolge aus, also z.B. "Bachmann, Stefan", "Baumann, Karen", "baller, jochen", "Baffke, Claudia" usw. <p>Soll der komplette Inhalt, allerdings in umgekehrter Reihenfolge ausgegeben werden, genügt ein "sort=-": <p> <table cellpadding="10" width="90%"> <tbody> <tr> <td bgcolor="#f0f0f0"><font size="3"><code><loop sort=->$Name<br></loop></code></font></td> </tr> </tbody> </table> <br> Gibt alle Einträge in umgekehrter chronologischer Reihenfolge aus <p>Dies geht auch in Verbindung mit einer Abfrage: <p> <table cellpadding="10" width="90%"> <tbody> <tr> <td bgcolor="#f0f0f0"><font size="3"><code><loop Name~=b sort=->$Name<br></loop></code></font></td> </tr> </tbody> </table> <br> Gibt alle Einträge, bei denen das Feld "Name" mit "b" anfaengt, in umgekehrter Reihenfolge aus, also z.B. "Baumann", "Baffke", "baller", "Bachmann" usw. <p>Sie können auch mehrere Felder bei "sort" angeben. Die Sortierung erfolgt dann zuerst nach dem ersten Feld, dann nach dem zweiten, dem dritten usw. <p> <table cellpadding="10" width="90%"> <tbody> <tr> <td bgcolor="#f0f0f0"><font size="3"><code><loop Name~=ba sort=Name,Vorname,-Alter>$Name, $Vorname ($Alter)<br></loop></code></font></td> </tr> </tbody> </table> <br> Gibt alle Einträge aus, bei denen das Feld "Name" mit "ba" anfaengt, sortiert nach den Feldern "Name", "Vorname" und "Alter" (letzteres in umgekehrter Reihenfolge), also z.B. "Bachmann, Stefan (31)", "Bachmann, Stefan (11)", "Baumann, Arndt (41)", "Baumann, Claudia (42)", "Baumann, Thorsten (32)", "Baumann, Thorsten (7)", "Baffke, Karen (27)", usw. <p><b>Aufruf über URL:</b> <p>Sie können alle obigen Beispiele auch in der URL verwenden, z.B.: <p> <table cellpadding="10" width="90%"> <tbody> <tr> <td bgcolor="#f0f0f0"><font size="3"><code>http://baseportal.de/cgi-bin/baseportal.pl?<br> htx=/sepperl/adressen&Name==*&sort=-</code></font></td> </tr> </tbody> </table> <br> Gibt alle Einträge, sortiert nach dem Feld "Name", in umgekehrter Reihenfolge aus (Schneller als ein "</font><font size="3"><code>sort=-Name</code></font><font face="arial" size="2">" !)</font></td> </font> </tr> </table>
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.01s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!