Ankündigung

Einklappen
Keine Ankündigung bisher.

mehrdimensionales Array sortieren

Einklappen

Neue Werbung 2019

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

  • mehrdimensionales Array sortieren

    ich habe das folgende mehrdimensionale Array:
    Code:
    $abfrage = @mysql_query("SELECT * FROM $DB_log WHERE datum < ".time()." ORDER BY datum ASC");
    $_logs = array();
    $a=0;
    while($eintraege = mysql_fetch_object($abfrage))
      {
        $_logs[$a] = array();
        $_logs[$a]['id'] = $eintraege->id;
        $_logs[$a]['datum'] = $eintraege->datum;
        $_logs[$a]['titel'] = $eintraege->titel;
        $_logs[$a]['eintrag'] = $eintraege->eintrag;
        $_logs[$a]['cat'] = $eintraege->cat;
        $a++;
      }
    @mysql_free_result($abfrage);
    unset($a);
    Das Array $_logs ist jetzt aufsteigend nach ['datum'] sortiert.

    Wie kann ich jetzt $_logs nachträglich nach IDs sortieren?
    ohne eine neue sql-abfrage versteht sich...
    simbo.de

  • #2
    oder einfach schon in der SQL-abfrage nach zwei sachen sortieren ...
    [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

    Kommentar


    • #3
      nach zwei sachen sortieren?? erklär mal bitte...

      mal ganz abgesehen vom sql...
      geht das überhaupt?? ein mehrdimensionales array auf oben beschriebene weise neu sortieren???
      simbo.de

      Kommentar


      • #4
        weiß da keiner was?
        simbo.de

        Kommentar


        • #5
          Falls es da keine fertige Funktion gibt dürfte der Algoritmus n bissle komplexer werden...

          Kommentar


          • #6
            das hab ich mir auch schon gedacht...
            mit array_multisort kommt man da nämlich nicht weit...
            simbo.de

            Kommentar


            • #7
              PHP-Code:
              mysql_query("SELECT * FROM $DB_log WHERE datum < ".time()." ORDER BY datum ASC, ID ASC"); 

              Kommentar


              • #8
                Zitat von Kindariegel
                PHP-Code:
                mysql_query("SELECT * FROM $DB_log WHERE datum < ".time()." ORDER BY datum ASC, ID ASC"); 
                eben!
                how i said
                [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                Kommentar


                • #9
                  dabei fällt mir auf: es gibt in SQL auch ne Now() funktion also du musst net so mit time() rumhandeln und aufpassen das du ja richtig escapst usw:

                  PHP-Code:
                  mysql_query("SELECT * FROM $DB_log WHERE datum < Now() ORDER BY datum ASC, ID ASC"); 
                  so halt

                  Kommentar


                  • #10
                    und was wenn ich jetzt einmal nach "datum ASC" und einmal nach "datum DESC" sortieren möchte??? das läßt sich wohl kaum in einer sql-abfrage vereinen...

                    hat hier noch keiner ein mehrdimensionales array neu sortiert????
                    simbo.de

                    Kommentar


                    • #11
                      Zitat von Simbo
                      und was wenn ich jetzt einmal nach "datum ASC" und einmal nach "datum DESC" sortieren möchte??? das läßt sich wohl kaum in einer sql-abfrage vereinen...
                      hä? wie soll das gehen? entweder ASC oder DESC bei deinem datum
                      du kannst wohl kaum sowas meinen oder?
                      SELECT * FROM table ORDER BY datum ASC, datum DESC ?!?!?!?!?

                      Kommentar


                      • #12
                        also nochmal von vorne...
                        Ich habe das oben beschriebene mehrdimensionale Array, sortiert nach "datum ASC"...
                        Dieses soll nun an mehreren Stellen der Site verarbeitet werden, mal mit bestehender Sortierung, mal sortiert nach ID, mal nach Cat und auch nach datum DESC...
                        Habs bisher so, das er jedesmal neue neue sql-Abfrage macht.
                        Mir wärs aber lieber, wenn ich das Array umsortieren kann, da mir diese funktion auch für spätere Projekte nützlich erscheint.

                        weiß da einer was?
                        simbo.de

                        Kommentar


                        • #13
                          http://de3.php.net/manual/de/function.sort.php und ff.

                          Kommentar


                          • #14
                            hast du überhaupt schon einmal versucht das in einer SQL-abfrage zu lösen? mir scheint das nicht so.

                            warum willst du dir hier ein komplexes script schreiben, wenn es ganz einfach innerhalb des SQL-queries geht?
                            [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

                            Kommentar


                            • #15
                              wenn ich mein array mit der abfrage
                              Code:
                              mysql_query("SELECT * FROM $DB_log WHERE datum < ".time()." ORDER BY datum ASC, ID ASC");
                              mache und sagen wir mal 50 einträge in der datenbank sind, dann hat doch $_logs[0] die werte der zeile mit dem niedrigsten datum und $_logs[49] die mit dem höchsten datum und sollten zwei einträge die selben werte bei datum haben, dann werden sie nach id ASC sortiert !?!
                              oder nicht?
                              simbo.de

                              Kommentar

                              Lädt...
                              X