Ergebnis 1 bis 7 von 7

Thema: ORDER BY date ... Problem

  1. #1
    TP-Senior Avatar von alftanner
    Registriert seit
    Nov 2002
    Ort
    Berlin
    Beiträge
    219

    ORDER BY date ... Problem

    Hallo, ich habe eine DB mit einer Tabelle da ist ein DateTime drin. "Y-m-d H:i:s".
    Dieses möchte ich jetzt sortieren können. Habe mit:

    PHP-Code:
    $sql "SELECT DATE_FORMAT(datum, '%Y%m%d %h%i%s') as datum_sort, id, name, pfad, beschreibung FROM pics WHERE id BETWEEN 1 AND 100 ORDER BY datum_sort DESC";    
    $ergebnis mysql_query($sql); 
    als Beispiel auch den gewünschten Erfolg.

    AAAAber...... meine ID´s für die Abfrage kommen aus einem Array. So dass ich, nach meinem Verständis, eine Schleife davor setzen müsste.

    PHP-Code:
    $loop=count($array_mit_id);

    for(
    $i=0$i<$loop$i++){
    $sql "SELECT DATE_FORMAT(datum, '%Y%m%d %h%i%s') as datum_sort, id, name, pfad, beschreibung FROM pics WHERE id LIKE  $array_mit_id[$i] ORDER BY datum_sort DESC";    
    $ergebnis mysql_query($sql);

    Leider geht das ja nicht! Wie kann ich jetzt meine Abfrage sortieren? Vielen Dank im voraus
    gruß

  2. #2
    TP-Moderator Avatar von maxi89
    Registriert seit
    Nov 2004
    Ort
    Mulpe an der Tunke
    Beiträge
    2.584
    Wie ist denn das Array aufgebaut? In etwa so?
    $array_mit_id = array(1 => 15, 2 => 36, 3 => 63) ?

    Dann probier mal:

    PHP-Code:
    $sql "SELECT DATE_FORMAT(datum, '%Y%m%d %h%i%s') as datum_sort, id, name, pfad, beschreibung FROM pics WHERE id IN (".implode(", "$array_mit_id[$i]).") ORDER BY datum_sort DESC"
    Implode setzt ein Array zu einem String zusammen, wobei die einzelnen Array-Elemente mit der Zeichenfolge zusammengeklebt werden, die als erster Parameter übergeben wird (also hier ein Komma mit Leerzeichen dahinter).

  3. #3
    TP-Senior Avatar von alftanner
    Registriert seit
    Nov 2002
    Ort
    Berlin
    Beiträge
    219
    Hi maxi, leider hat das nicht den gewünschten Erfolg:

    PHP-Code:
    $array_id = array("5933","5922");
     for(
    $i=0$i<sizeof($array_id); $i++){
         
             
         
         
    $sql "SELECT DATE_FORMAT(datum, '%Y%m%d %h%i%s') as datum_sort, id, name, pfad, beschreibung FROM pics WHERE id IN (".implode(", "$array_id[$i]).") ORDER BY datum_sort DESC";  
         echo 
    mysql_errno() . ": " mysql_error(). "\n";
        
    $ergebnis mysql_query($sql);
                    
    $row mysql_fetch_object($ergebnis);
                        
                            echo 
    $row->id." - ".$row->datum_sort."<BR>"
    Bringt:

    Warning: implode() [function.implode]: Invalid arguments passed in /www/htdocs/www00b3c/ordner/ordner1/anzeige.php on line 213
    0:
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /www/htdocs/www00b3c/ordner/ordner1/anzeige.php on line 216
    -

    Warning: implode() [function.implode]: Invalid arguments passed in /www/htdocs/www00b3c/ordner/ordner1/anzeige.php on line 213
    1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY datum_sort DESC' at line 1
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /www/htdocs/www00b3c/ordner/ordner1/anzeige.php on line 216
    Geändert von alftanner (26.05.2011 um 05:49 Uhr)

  4. #4
    TP-Veteran Avatar von Guin
    Registriert seit
    Nov 2006
    Ort
    Nordholz
    Beiträge
    1.684
    $array_id[$i] -> $array_mit_id[$i]?
    Gruss Guin
    Mein Blog

  5. #5
    TP-Senior Avatar von alftanner
    Registriert seit
    Nov 2002
    Ort
    Berlin
    Beiträge
    219
    Zitat Zitat von Guin Beitrag anzeigen
    $array_id[$i] -> $array_mit_id[$i]?

    ?

  6. #6
    TP-Senior
    Registriert seit
    Dec 2008
    Beiträge
    187
    Maxi hatte schon Recht. Das $i ist beim implode nur zuviel (wohl ein Flüchtigkeitsfehler). Vergiss einfach die Schleife drumherum und belasse es bei:

    PHP-Code:
    $sql "SELECT DATE_FORMAT(datum, '%Y%m%d %h%i%s') as datum_sort, id, name, pfad, beschreibung FROM pics WHERE id IN (".implode(", "$array_mit_id).") ORDER BY datum_sort DESC"
    $array_mit_id sollte nur nicht zu groß werden.

  7. #7
    TP-Senior Avatar von alftanner
    Registriert seit
    Nov 2002
    Ort
    Berlin
    Beiträge
    219
    Danke an alle Jetzt sortiert er.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. DATE Mymsql
    Von MichaelM im Forum Traum-Dynamik
    Antworten: 2
    Letzter Beitrag: 09.05.2007, 15:02
  2. Wer kann spanisch? - Shop/Order Problem
    Von ::..Thomas..:: im Forum Einfach so ...
    Antworten: 0
    Letzter Beitrag: 06.12.2004, 22:10
  3. [MySQL]MAX(date)
    Von osiris im Forum Traum-Dynamik
    Antworten: 3
    Letzter Beitrag: 27.05.2004, 23:03
  4. Order By - Problem!!!!
    Von alfmanuel im Forum Traum-Dynamik
    Antworten: 2
    Letzter Beitrag: 21.04.2003, 18:16
  5. problem mit date-datentyp
    Von glowi im Forum Traum-Dynamik
    Antworten: 5
    Letzter Beitrag: 25.07.2002, 20:22

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51