Newsgroup: it.comp.www.php
Titolo: [HELP] Ordinare per data

Ciao a tutti,
ho una tabella con un campo data dove i dati vengono inseriti nel formato
gg/mm/anno. Se faccio una select su questa tabella e visualizzo i risultati
dicendogli di ordinarli per data DESC, non me li ordina ! Per farvi un
esempio queste sono le prime quattro date che mi tira fuori (in teoria
ordinate per data DESC):
- 31/10/2002
- 30/01/2003
- 29/11/2002
- 29/10/2002
- 29/01/2003
Qualcuno sa spiegarmi perchè ? Come posso risolvere ?
grazie
--
Togli NOSPAM e .invalid dal mio indirizzo
e-mail per scrivermi in privato

 Qualcuno sa spiegarmi perchè ? Come posso risolvere ?
A me sembrano in ordine alfabetico... Sicuro che e' un campo DATE?
Al momento non so in quale hard-disk ho il manuale MySql, e faccio prima a
trovarlo on-line. La pagina
http://www.mysql.com/doc/en/DATETIME.html
dice che:
MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format. The
supported range is '1000-01-01' to '9999-12-31'. (il solito Y10K bug:
speriamo lo sistemino in tempo...)
Per inserire una data in MySql formattala cosi':
$datetime = date("Y-m-d H:i:s");
$datedate = date("Y-m-d");
ciao
Marco
-- 
bernama -ricciolo- libero -puntino- it
*** NON DISTURBARE ***
(sono gia' disturbato)
M.B.
+- PHPRndSig 0.02 --------------------------------------------51/73-+

 $datedate = date("Y-m-d");
Prima di tutto grazie per avermi risposto.
Forse ho fatto una cazzata, perchè il campo l'ho impostato come varchar. Il
problema è che la data viene inserita tramite un form che permette
l'inserimento di alcuni articoli per la rassegna stampa in un sito. L'utente
inserisce a mano nel formato gg/mm/anno la data ed il resto dei dati
dell'articolo. La data che ha inserito viene inserita nel campo "data" della
tabella adibita per la rassegna stampa. Il campo DATE di MySql invece ha
solo il formato anno/mm/gg e a me non va bene.
Come posso fare ?


 db convertila in gg-mm-aaaa prima di visualizzarla. ciao
E, per agevolare gli utonti, mettici un campo select per il giorno ed uno
per il mese, cosi' non sbagliano valori (in ogni caso fai poi anche una
verifica successiva).
ciao
Marco
-- 
bernama -tornado- libero -punto- it
Quanti programmatori PHP servono per cambiare una lampadina?
Non e' da cambiare, sul mio computer si accendeva! 
M.B.
+- PHPRndSig 0.02 --------------------------------------------16/73-+

 verifica successiva).
Scusa, dettaglio di usabilita': cosi' agevoli il programmatore che deve fare
i controlli, non l'utente.
L'utente preferisce di gran lunga battere due tasti per scrivere una data
che scorrersi tre menu pop-up, ci mette molto meno e lo capisce meglio.
S*

 meglio.
Cosi' ti ci metteranno 52 diciobre :-)
Il problema e' che, anche se ci scrivi chiaramente che la data va inserita
nel formato giornogiorno barra mesemese barra annoanno una gran
percentuale usera' un formato sbagliato.
 Lo so: succede sempre anche a me di sbagliare ad inserire le date!
Sicuramente ci sono anche dei JavaScript che permettono di
verificare la data prima della spedizione del form, anche se una
ripassata alla ricezione dati non fa mai male.
ciao
Marco
-- 
bernama -at- libero -punto- it
I'll say it again for the logic impaired.
--Larry Wall
+- PHPRndSig 0.02 --------------------------------------------30/73-+

 Cosi' ti ci metteranno 52 diciobre :-)
No, perchè sicuramente avrai usato la funzione checkdate() prima di 
passare la data a MySql. :)


 ripassata alla ricezione dati non fa mai male.
Basta convertire in javascript quanto sopra, ma non puoi prescindere
comunque da un controllo anche da php.
Un'altra cosa del genere che mi fa imbestialire sono i menu pop-up con le
provincie. Ci vuole mezzo secondo a scrivere MI, e invece spesso l'utente e'
costretto a scorrersi un lunghissimo menu per trovare la sua citta'.
Quando si scrive software per i siti web bisogna vedere le cose dal punto di
vista dell'utente, non del programmatore. Ci sono siti che ti danno errore
se non metti il trattino fra il prefisso e il numero di telefono.
Register.it ti da' errore se non scrivi il numero di telefono esattamente
come lo vogliono loro. Che senso ha? Il programmatore si sarebbe stancato
troppo a scrivere due righe che risistemassero il prefisso nel modo giusto?
A parte la demenzialita' della cosa, visto che da diversi anni prefisso e
numero sono diventati una cosa sola.
Scusa per lo sfogo :-)
S*