Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433

    ordinamento per data e ora

    ciao...
    piano piano mi sto costruendo un piccolo forum per il mio sitarello

    nella tabella topic ho (tra gli altri) i campi

    datamod e oramod

    ora ovviamente devo ordinarli per:

    data > da quella piu recente a quella piu' vecchia
    ora > da quella piu recente a quella piu' vecchia ma dipendente dalla data

    come ovviamente in tutti i forum...

    le select che ho fatto sono:
    1° tentativo (errato)
    SELECT * FROM topic where idf='$idf' group by datamod desc,order by oradb desc";
    2°tentativo (semi corretto)
    $top="SELECT * FROM topic where idf='$idf' order by datamod desc,oradb desc";

    il secondo me li ordine per data ma non per orario come si fa??

    tenc iou :master:
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    ti conviene usare un solo campo per registrare la data e l'ora della modifica.

    il secondo esempio funziona a metà perchè il primo ordinamento viene fatto tramite il campo "datamod", ed in caso di record con lo stesso valore l'ordinamento avviene tramite il campo "oradb".

    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    un solo campo?? :master:

    e come faccio

    nome > modifica
    tipo campo > ????????

    e per l'ordinamento???

    ----------------------

    cmq se il campo data e' uguale per 2 record ma l'ora e' diversa prima mi ragruppa per data e poi per ora giusto
    (ho tralasciato i sec)
    es nel db
    data - ora
    2005-01-05 / 18:00
    2005-01-06 / 12:00
    2005-01-06 / 13:00
    2005-01-05 / 15:00

    con la mia query

    $top="SELECT * FROM topic where idf='$idf' order by datamod desc,oradb desc";

    mi dovrebbe restituire:
    2005-01-06 / 13:00
    2005-01-06 / 12:00
    2005-01-05 / 18:00
    2005-01-05 / 15:00

    giusto??
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    think simple think ringo

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361

    Re: ordinamento per data e ora

    Originariamente inviato da Urbanus
    ciao...
    piano piano mi sto costruendo un piccolo forum per il mio sitarello

    nella tabella topic ho (tra gli altri) i campi

    datamod e oramod

    ora ovviamente devo ordinarli per:

    data > da quella piu recente a quella piu' vecchia
    ora > da quella piu recente a quella piu' vecchia ma dipendente dalla data

    come ovviamente in tutti i forum...

    le select che ho fatto sono:
    1° tentativo (errato)
    SELECT * FROM topic where idf='$idf' group by datamod desc,order by oradb desc";
    2°tentativo (semi corretto)
    $top="SELECT * FROM topic where idf='$idf' order by datamod desc,oradb desc";

    il secondo me li ordine per data ma non per orario come si fa??

    tenc iou :master:
    Nella seconda query non vedo cosa sia sbagliato.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    per la query che ho fatto

    seconda domanda:
    si, funziona così
    Eppure ho provato ma non me le ordina!!!

    --- allora prendero' in considerazione l'ipotesi di fare un campo unico

    e poi come recupero il campo data da solo
    ad esempio: se voglio vedere i record modificati oggi??

    nel campo dataora_mod (2005-01-06 19:36:25 )
    come la recupero??

    altrimenti aggiungo un nuovo campo che non verra' mai visualizzato ma mi serve solo per l'ordinamento...

    grazie!!
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  7. #7
    cerca informazioni sul timestamp.
    è un numerone che rappresenta i secondi trascorsi dall' 1-1-1970.

    salvando nel db quel numero poi puoi trovare tutto quello che ti interessa fino alla scala dei secondi.

    cerca e osserva la funzione time() (da il timestamp)
    e le funzioni per la formattazione delle stringhe tipo sprintf.
    Non è bello ciò che e bello ...
    Ma che bello che bello che bello ...

  8. #8
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da Urbanus
    --- allora prendero' in considerazione l'ipotesi di fare un campo unico

    e poi come recupero il campo data da solo
    ad esempio: se voglio vedere i record modificati oggi??

    nel campo dataora_mod (2005-01-06 19:36:25 )
    come la recupero??
    una cosa così:
    codice:
    SELECT * FROM nome_tabella
    WHERE DATE_FORMAT(dataora_mod,'$Y-$m-$d') = CURDATE();
    think simple think ringo

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433


    ok ho tirato via i 2 campi ora e data (modifica) e li ho rimpiazzati con 1 solo: 'modifica' DATETIME.

    l' ordinamento e' sistemato (grazie)

    ora pero' manca solo la visualizzazione corretta ovvero

    siccome mi restituisce il campo nel formato >
    echo $modifica ->(2005-01-07 10:28:30)

    ora quello che mi serve e' mettere la data nel formato g/m/A

    ovvero echo $modifica -> (07-01-05 10:28:30)

    come faccio
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  10. #10
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    devi usare la funzione di mySQL DATE_FORMAT:
    codice:
    SELECT DATE_FORMAT(dataora_mod,'$d-$m-$y %H:%i:%s') AS dataora_mod FROM nome_tabella
    http://forum.html.it/forum/showthrea...hreadid=459634



    think simple think ringo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.