Ankündigung

Einklappen
Keine Ankündigung bisher.

Suche schnellere Möglichkeit für alphabetische Auflistung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Suche schnellere Möglichkeit für alphabetische Auflistung

    Hallo,

    ich habe in einer Datenbank einige tausend Tags (Stichwörter). Jetzt möchte ich diese alphabetisch sortiert ausgeben und zwar nach den Anfangsbuchstaben unterteilt.

    Beispiel:
    Code:
    A
    aasfresser abc abcschutzanzug abend abenddaemmerung abenddlicht abendlicht abendsonne abendstimmung abriss abschied absperrung abstrakt acker ackerbau action acuripalme adler
    
    B
    botanik botanischer garten bottich brachvogel brandenburger tor brasilien braunpelikan
    
    C
    chloroceryle amazona chopi staerling christus christusstatue citrusfrucht city clematis
    Um das zu erreichen benutze ich derzeit für jeden abzurufenden Buchstaben eine eigene Query. Also erst rufe ich alle Tags mit dem Anfangsbuchstaben A auf, gebe denn aus und dann mache ich mit B weiter. Das erfordert für diesen einen Seitenaufruf aber 26 Queries und dementsprechend lange dauert auch der Aufruf. Gibt es dafür eine schnellere Lösung die mit weniger Queries auskommt?


    Grüße,
    Christian

  • #2
    Hi,

    Schonmal "ORDER BY" versucht?

    Gruß Thomas

    Kommentar


    • #3
      Zitat von Thomas Beitrag anzeigen
      Schonmal "ORDER BY" versucht?
      Ja, dann habe ich das ganze Ergebniss aber in einem Array und kann es nicht mehr auf die einzelnen Buchstaben aufteilen. Ich muss ja sozusagen, das Query-Ergebniss für jeden Buchstaben separat darstellen. Oder gibt es in PHP eine Funktion, mit der ich nachträglich ein Query-Array auftrennen kann?

      Kommentar


      • #4
        Mhh,

        du könntest höchstens alle Buchstaben in nen Array packen und sie dann mit einer Schleife auslesen lassen.

        Die Query muss dann natürlich mit den entsprechenden Variablen mit in die Schleife!

        Kommentar


        • #5
          Du kannst doch einfach mit ORDER BY arbeiten und dann in der while-Schleife testen, ob der neueste Anfangsbuchstabe noch gleich ist wie der vorherige! Wenn dem so ist, gibst du ihn in der Liste normal aus, ansonsten schreibst du zuerst den Titel für den neuen Anfangsbuchstaben und schreibst dann den Begriff nach dem neuen Titel rein und speicherst den neuen Anfangsbuchstaben in einer Variable.

          Kommentar

          Lädt...
          X