Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    40

    Selezionare da database in ordine di data

    Ciao ragazzi,
    mi servirebbe un piccolo consiglio.
    Allora io faccio la seguente query ad un database per poi stamparli:
    $query = "SELECT data, giornata, partita1, partita2, partita3, partita4, partita5, partita6, partita7, riposa, risultato1, risultato2, risultato3, risultato4, risultato5, risultato6, risultato7 FROM calendario ORDER BY data DESC ";
    con il comando "ORDER BY data DESC" mi ordina le partite dalla data più nuova alla piu vecchia, ora invece a me interessa che stampi quello con la data più vicina al giorno in cui l'utente visualizza quella pagina.
    Mi sono spiegato? si può fare??
    Grazie!

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select * from calendario
    where `data` > curdate()
    order by `data` asc
    limit 1

  3. #3
    piu' vicina prima o dopo?

    facciamo finta sia la prima minore

    codice:
    select *, DATEDIFF(NOW(), data) as diff
    from calendario
    order by diff
    limit 1

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

  4. #4
    servizio completo....

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

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da piero.mac
    servizio completo....
    ahahah. Ciao Piero.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    40
    Grazie mille ragazzi!!!
    Solo una cosa, quello di nicola non riesco a farlo funzionare, mentre quelle di piero funziona solo che se ho la data dell'8 novenmbre e quella del 31 mi visualizza quella del 31.... ame interesserebbe stampare la data più vicina al giorno di visualizzazione anche se è cmnq passata.
    Grazie!!!!

  7. #7
    data piu' vicina.... allora potrebbe essere prima oppure dopo oppure la stessa di quella indicata.

    usa ABS().

    codice:
    select *, ABS(DATEDIFF(NOW(), data)) as diff
    from calendario
    order by diff
    limit 1

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

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    40
    ho provato e non cambia nulla... non vorrei che avessi sbagliato qualcosa nel codice di inserimento della data, ma sarebbe strano perche per data desc me li ordina correttamente.. ;(
    Grazie ancora

  9. #9
    mica devi ordinare per data..... altrimenti a che puffo buffo serve quella query?

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

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    40
    si,cioè mi serve per stampare dal database quei dati ma dalla riga con data più vicina al giorno di visualizzazione. purtroppo sia con abs che con diff ciò non accade, nonostante date più vicine mi stampa sempre il 30 novembre

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.