Risultati da 1 a 3 di 3

Discussione: query sql e script php per ordinamento dati tabella

  1. #1
    Zorthan è offline Utente del Forum
    Data Registrazione
    Feb 2007
    Messaggi
    84

    query sql e script php per ordinamento dati tabella

    iao a tutti

    Ho un sito (se volete lo posto) dove devo richiamare dei dati inseriti dall'utente
    Praticamente, il primo campo è la data.

    Giorno, mese, anno fanno la data, e sono variabili a parte, inseribile da menu a tendina. a cui sono collegati i rispettivi campi della tabella che recupera i dati
    faccio esmepi x chiarire meglio

    Nel FIle Di inserimento dati

    <form action='form1.php' method='POST'>

    <select name='giorno'>
    <option value='01'>1</option>
    <option value='02'>2</option>
    <option value='03'>3</option>
    <option value='04'>4</option>
    <option value='05'>5</option>

    </select>";

    echo "Giorno
    <select name='mese'>
    <option value='10'>ottobre</option>
    <option value='11'>novembre</option>
    <option value='12'>dicembre</option>
    <option value='1'>gennaio</option>
    <option value='2'>febbraio</option>
    </select>";

    echo "Mese
    <select name='anno'>
    <option value='2008'>2008</option>

    </select>";

    echo "Anno <br /><br />

    FILE DI RECUPER DATI DELLE VARIBIALI


    $giorno = $_POST['giorno'];
    $mese = $_POST['mese'];
    $anno = $_POST['anno'];

    (POI OVVIAMENTE CI SARANNO TUTTE LE QUERY CHE INSERIRANNO NELLA TABELLA I DATI ECC...)


    NEL FILE DI RICHIAMO DEI RISULTATI HO MESSO QUESTA


    $sql = "SELECT * FROM treni_ritardo ORDER BY giorno,mese,anno,orario,direzione";
    $result = mysql_query ($sql);


    IL RISULTATO PERO' LASCIA A DESIDERARE. mI ORDINA IN BASE AL GIORNO, SENZA RICONOSCERE IL MESE..
    E QUIINDI SI CREA CONFUSIONE ECCO QUA:



    05 10 2008 1614 Varese si 1
    05 12 2008 1544 Varese no 1
    07 10 2008 1314 Varese no 1
    08 10 2008 1914 Varese si 2
    09 10 2008 0614 Pioltello si 1
    20 10 2008 0844 Varese si 1

    LA DATA DEL 5 DICEMBRE è ORDINATA DOPO IL 5 OTTOBRE MA PRIMA DEL 7 OTTOBRE
    COME CAPITE, QUALCOSA NON VA.
    QUALCHE IDEA PER ORDINARE LA DATA IN RELAZIONE ALLA SUA GIUSTAPOSIZIONE?

    GRAZIEA TUTTI IN ANTICIPO
    PAOLO

  2. #2
    L'avatar di borgo italia
    borgo italia è offline Moderatore
    Data Registrazione
    Feb 2008
    Località
    PR
    Messaggi
    7,253
    ciao
    il problema sta in questo
    prima ordina per data di giorno e a parità di giorno per mese
    quindi ordinera per es prima tutti i record con data giorno 05 ed i recorda con data giorno 05 verranno ordinato per data mese

    inoltre se le date sono in formato stringa

    la data 11 12 2009 viene ordinata prima di 7 1 2009 in quanto il primo carattere 11 stringa è minore di 7 stinga
    non so se sono stato chiaro

  3. #3
    L'avatar di borgo italia
    borgo italia è offline Moderatore
    Data Registrazione
    Feb 2008
    Località
    PR
    Messaggi
    7,253
    ciao
    dimenticavo
    <option value='10'>ottobre</option>
    <option value='11'>novembre</option>
    <option value='12'>dicembre</option>
    <option value='1'>gennaio</option>
    <option value='2'>febbraio</option>
    metti

    <option value='01'>gennaio</option>
    <option value='02'>febbraio</option> ecc.. sino a 09
    poi nella query

    ORDER BY anno,mese,giorno,orario,direzione";

    dovrebbe andare a posto

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •