Visualizzazione risultati 1 fino 6 di 6

Discussione: Ordinare record in base alla data in formato ("d/M/Y - h,m")

  1. #1
    Guest

    Predefinito Ordinare record in base alla data in formato ("d/M/Y - h,m")

    spero che il titolo sia comprensibile.
    ciao a tutti, intanto! :)

    il problema è questo:
    inserisco dei record nel db.
    la funzione date("d/M/Y - h,m") mi formatta la data per il campo VARCHAR(30) del database.

    ora, vorrei ordinare in base alla data tali record, solo che, ovviamente, l'ordinamento è a cavolo, visto che come riferimento prende solo il primo numero della data, prima della backslash...

    esempio:

    28/02/2007 - 17,35
    01/03/2007 - 14, 30
    01/03/2007 - 12,54

    viene ordinato esattamente così, invece che nell'ordine coerente con ASC o DESC.

  2. #2
    Guest

    Predefinito

    In questi casi si consiglia sempre di inserire un timestamp (funzione time();) all'interno del database per poi formattarlo in forma leggibile una volta estratto.
    L'ordinamento a quel punto è molto più facile, visto che si tratta di un intero.


    Ciaooooo!!!!!!

  3. #3
    Guest

    Predefinito

    come mi consigli di procedere dunque?

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Dovresti modificare il tipo di campo di quel database in TIMESTAMP e inserire tutte le date come TIMESTAMP.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    Modifichi la query che inserisce i record, sostituendo al date(...) il time().
    Quando invece estrai i records dovrai formattare quel campo estratto con date(...)


    Ciaooooo!!!!!

  6. #6
    Guest

    Predefinito

    EDIT: fatto tutto.
    grazie mille per le dritte.

    ho convertito in INT il campo data.
    time() mi salva l'intero nel database,
    date("format",$timestamp) mi riformatta la data per bene!

    grazie.
    Ultima modifica di lsdforum : 03-03-2007 alle ore 16.32.38

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •