prob mit LIMIT und ORDER

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

  • prob mit LIMIT und ORDER

    hab mal wieder ein kleines organisatorisches prob

    und zwar habe ich einige hundert links in einer tabelle als datenquelle.
    ich erklär mal die folgende funktion die ich zum ausgeben der links verwende...

    PHP-Code:
        function linksByID($id$order$offset)
        {
            ...
            
            
    $query 'SELECT xxx, yyy 
                FROM aaa WHERE links_sub = ' 
    $id 
                
    ' ORDER BY xxx ' $order .
                
    ' LIMIT ' $offset ',10';
                
            ...
        } 
    $id -> sieht man ja, brauch ich für WHERE zum vergleichen
    $order -> übergeben werden entweder 'ASC' oder 'DESC'
    $offset -> brauch ich für die navigation. es werden immer nur 10 einträge in 10'er schritten ausgegeben.

    mein problem: ändert der benutzer die reihenfolge von ASC auf DESC, werden 10 links beginnend vom untersten
    nach oben gesetzt. ich möchte das aber eigentlich anders haben und finde keine lösung

    so sollte es sein:

    10 von 100 links werden ausgespuckt, reihenfolge ist ASC

    link1
    link2
    : :
    link9
    link10

    benutzer ändert reihenfolge auf desc (script wird neu geladen, die entsprechende $_GET variable enthält jetzt den wert DESC)

    ausgabe sieht so aus:

    link10
    link9
    : :
    link2
    link1

    im moment passiert aber folgendes:

    link100
    link99
    : :
    link91
    link90

    =(

    gibt's da noch einen trick?? ideal wäre es ja wenn ich LIMIT mit ORDER vertauschen könnte, also erst die auswahl limitieren und dann sortieren, da meckert mysql aber

  • #2
    Tja Du musst Dein Offset anders definieren, die Ausgabe, die Du erhälst ist vollkommen korrekt und auch logisch.
    Oder das Resultset ASC holen in ein Array schreiben und erneut sortieren...
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      ehrlich gesagt, würde mich das etwas verwirren, wenn ich dann auf Seite 1 die Links 10-1 bekomme, und auf Seite 2 dann 20-11. Sinnd er DESC Sortierung, ist doch grade, daß man z.B. für Link 79 nicht sieben Mal auf weiter klickt, sonder nur drei Mal. Und bei 10 Links pro Seite muß man ja auch nicht spulen, insofern versteh ich noch nicht wirklich, warum Deine Sortierung grade so wie von Dir beschrieben sein soll *sich nicht sicher ist, ob er auf dem Schlach steht oder einfach noch nicht wach ist*

      Kommentar


      • #4
        ja hm.. also ich bin mir auch nicht so ganz sicher wie ich es letztendlich mache. entweder lass ich es so wie beschrieben, oder ich pack das in ein array und sortiere dann, wie MelloPie es beschrieben hat.

        ich find's irgendwie unübersichtlich wenn per DESC auf einmal der 100. link an erster stelle steht, darum ddachte ich mir stell ich 10. link nach oben

        ich glaube das ist geschmackssache... aber ein paar meinungen wären nett *g*

        Kommentar

        Lädt...
        X