Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Selezione ultimi record

    Allora vi spiego il mio problema.
    Sto facendo un sistema di news con database. Ogni giorno dovrebbero esserci 2-3 news che vengono mostrate in prima pagina, ma può succedere che alcuni giorni non ci siano news.
    Come posso fare in modo in php di mostrare le news dell'ultimo giorno (ovviamente se Domenica non ci sono news vengono mostrare quelle di Sabato)?
    Nel database ho già inserito il campo data.

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    con una query di questo tipo:
    SELECT * FROM tabella ORDER BY data DESC LIMIT 0,3

    ordini i records in modo decrescente secondo il campo data, e ne prendi solo 3.
    think simple think ringo

  3. #3
    E se non voglio mettere il limite?
    Io ho pensato a 2-3 news giornaliere, ma potrebbero essercene di più come di meno

  4. #4
    sei costretto a mostrare per giorno perche non fai ultime news e mostri le ultime 5 per esempio?

  5. #5
    Perchè mi è stato richiesto così.
    Praticamente in prima pagina si vedono solo le news del giorno..se uno vuole vedere quelle vecchie usa un menù a tendina e sceglie il giorno.
    Comunque la query dovrebbe essere del tipo: seleziono i record che contengono l'ultima data.
    Il problema è che se uso il date() odierno come metodo di relazione per cercare nel database gli ultimi record e quel giorno invece non ci sono news, restituirebbe una stringa vuota!

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    devi mettere un WHERE alla fine della query. per il numero potresti fare un controllo con IF e successivamente decidere quante prenderne.
    se per esempio non hai news prendi quelle del giorno precedente; nn sono del tutto sicuro ma credo si possa fare direttamente con mySQL.
    think simple think ringo

  7. #7
    Ho modificato il messaggio spiegandomi meglio

    P.S. ah cmq come dovrei fare a fargli capire di prendere i record della data precedente se non trova nulla?

  8. #8
    Originariamente inviato da nirv
    E se non voglio mettere il limite?
    Io ho pensato a 2-3 news giornaliere, ma potrebbero essercene di più come di meno
    No c'e' problema.

    metti un contatore dentro il ciclo while di estrazione. Con una if controlli il valore predefinito per pagina. Se raggiunto limite forzi l'uscita dal while, altrimenti, se le news sono meno del max previsto, esce prima per conto suo.


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

  9. #9
    Si ma alla fine dovranno essere mostrate tutte nella stessa pagina!
    sia che siano 2 come 6!

  10. #10
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    un esempio di pseudocodice:

    codice:
    $sql="SELECT COUNT(*) FROM tabella WHERE data = odierna";
    se ($sql == 0)
       "SELECT * FROM tabella WHERE data = giorno_precedente";
    altrimenti
       "SELECT * FROM tabella WHERE data = odierna";
    think simple think ringo

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