Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [mysql]ordinare per data

    Il problema è semplice io ho questa query:

    codice:
    $query = "select * from scritti where genere = 'news'  order by data, ora desc limit 8"
    La data è in formato dd/mm/yyyy, l'ora in hh/mm/ss.

    I dati dovrebbero essere ordinati in modo che i primi ad essere visualizzati sono i più recenti ma non è così, dove sta l'errore secondo voi?

    Grazie, ciao,

    holden

  2. #2
    per ordinare x data invece di inserire la data gg/mm/aaaa la devi inserire con la funzione time()
    http://e107plus.org
    Chi trova un amico,trova un tesoro, ma chi trova il tesoro se ne frega dell amico!!
    Prima di fare una cazzata pensaci

  3. #3
    Io uso getdate in questo modo:

    codice:
    $array_data = getdate();
    $giorno = $array_data['mday'];
    $mese = $array_data['mon'];
    $anno = $array_data['year'];
    
    if ($giorno < 10)
    {
    $giorno= 0 . $giorno;
    }
    if ($mese < 10)
    {
    $mese= 0 . $mese;
    }
    
    
    $data = $giorno . "/" . $mese . "/" . $anno;
    Preciso che nella tabella ho messo varchar per il campo data, può essere questo l'errore?

    holden

  4. #4
    Ti conviene impostare il campo mysql come timestamp e poi selezioni in questo modo la data formattata:

    SELECT *, date_format(dataestratta, '%d/%m/%y') as data
    FROM tabella

  5. #5
    Originariamente inviato da robertes
    Ti conviene impostare il campo mysql come timestamp e poi selezioni in questo modo la data formattata:

    SELECT *, date_format(dataestratta, '%d/%m/%y') as data
    FROM tabella
    Se cambio il tipo di campo della tabella perdo i dati.
    Però potrei salvarli in una tabella temporanea.
    Non ho ben capito la formula:
    ad esempio dataestratta da dove viene?
    Poi io devo ordinare per data, nella select che mi hai scritto non c'è questa cosa.
    Scusa se ti rompo i maroni ma ho il sito in rete, grazie mille,

    holden

  6. #6

    Re: [mysql]ordinare per data

    Originariamente inviato da holden_1972
    Il problema è semplice io ho questa query:

    La data è in formato dd/mm/yyyy, l'ora in hh/mm/ss.

    dove sta l'errore secondo voi?
    L'errore e' che quella e' una stringa e non una data. quindi viene ordinata in ascii in base alla sequenza.

    Per essere "data-ora" va memorizzata come detto da Roberts in timestamp (unix o mysql) oppure in campo formato DATETIME. Nel formato previsto per le date e non come stringa.

    http://forum.html.it/forum/showthrea...hreadid=459634
    http://forum.html.it/forum/showthrea...hreadid=839754


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.