abfrage: die letzten 10 aber asc

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

  • #31
    Wieso fragst du nicht die letzten 5 Datensätze DESC ab und gibst sie dann den umgekehrten Weg aus?

    PHP-Code:
    for ($i 4$i >= 0$i--) { ... } 
    Mein PHP Blog

    Kommentar


    • #32
      hi modestlife,

      vor allem deshalb, weil ich nicht wußte wie es geht (siehe, mein 1.beitrag hier im thread)
      und auch weil, ich das, was du beschreibst, nicht in php hätte umsetzen können. daher danke für dein code-beispiel später ausprobieren werde.

      jonas lösungsweg funktioniert auch, meine fragen dazu beziehen sich auf mein verständnis, um das nächste mal möglichst nicht mehr fragen zu müssen.

      viele grüße, skys

      Kommentar


      • #33
        Hi skys!

        Das "$backcount_start" ist eine freie erfindung von mir....
        Du könntest es auch "$ichbinkleinmeinherzistrein" nennen.

        Warum so gerne $row genommen wird?
        Nunja... auch hier könntest Du "$wasweissichdenn" nehmen, allerdings kann ich immer wenn ich meinen Programmcode ansehe auf einen Blick sehen:"Da ist ein $row... Der Inhalt kommt aus einer Datenbank".

        $backcount_start>=0 nur, weil die id bei 1 anfängt zu zähen oder ?
        Nein... Sondern weil eine Array immer "Nullbasierend" ist.
        Wenn Du es so willst, gehen in diesem speziellen Beispiel die angelegten Arrays von [0] bis [14]. Das entspricht 15 Einträgen.

        Wenn ich nun ein COUNT auf das Array mache, z.B.

        PHP-Code:
        echo count($id_arr); 
        wird als Antwort "15" kommen (wenn denn mindestens 15 Einträge in Deiner Tabelle waren).
        Da "das Array aber nur bis 14 geht" kommt da das "count($id_arr)-1".

        Sicherlich hätte man das an dieser Stelle auch anders machen können... Z.B. mit der recht verschachtelten DB Abfrage.
        Ich halte es aber immer so, auch wenn das sehr viele Leute anders sehen, dass ich bei einer überschaubaren Ergebnismenge (wir sprechen hier von 15 Zeilen!!!) lieber PHP arbeiten lasse (in Form einer billigen Schleife) als MySQL (in Form einer teuren DB Query) .

        Weiterer Vorteil an dieser Stelle: Du hast noch nicht seeeeehr viel Ahnung. Allerdings wirst Du sowohl die billige DB Abfrage, als auch die olle Schleife sehr wohl verstehen und kannst nun damit etwas "rumspielen" bzw. sie aufbohren um sie Deinen Wünschen entsprechend anzupassen.

        Du willst nur 8 Zeilen haben? Dann ist Dein $backcount_start=7; anstelle von $backcount_start=count($id_arr)-1;

        Auch die Lösung mit der FOR Schleife würde ich an dieser Stelle NIE machen.
        FOR Schleifen verwende ich nur dann, wenn die Länge der Schleife von vornherein bekannt ist und nicht erst durch z.B. COUNT ermittelt werden muss. (Und ich muss an dieser Stelle mit COUNT arbeiten, da ich nicht zu 100% weiß, ob da wirklich 15 Zeilen in der Ergebnismenge stecken)
        Ist eine dumme Angewohnheit von mir, mit der ich aber bislang gut gefahren bin.

        Kommentar


        • #34
          hi jonas,

          vielen dank für die super erklärung !

          bin gerade dabei auch meine älteren testdateien zu korrigieren und besser zu sortieren - wobei neu schreiben mir langsam fast einfacher erscheint als die jeweiligen stellen zu suchen und anzupassen. naja, übung macht die meisterin *hoff*

          vielen dank ! und einen guten wochenanfang, skys

          Kommentar

          Lädt...
          X