Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    52

    [MYSQL]Filtrare query con giorni della settimana

    io ho questa query
    codice:
    $query = "SELECT *, TIME_FORMAT(inizio, '%H:%i') as inizio FROM programmi2  ORDER BY inizio ASC";
    devo creare 7 pagine, 1 per ogni giorno della settimana.
    ogni record è contraddistinto da una data in formato DATE
    dovrei fare in modo che , ad esempio nella pagina del lunedì la query filtri solo i record che hanno come data il lunedì della settimana e così per ogni pagina dei giorni:

    lunedì - carica i record di lunedì
    mertedì- carica i record di martedì


    mi sono spiegato a dir poco male

    grazie in anticipo ciaoo

  2. #2
    non e' chiaro quello che chiedi.

    time_format vuole un orario e non una data. Tu fai l'ordinamento sul campo inizio che si suppone contenga solo un campo TIME cioe' hh:mm:ss.

    Dovresti fare l'ordinamento sul campo DATE. Ti verrebbero in ordine di giorno. Per facilitare il controllo potresti estrarre il giorno con valore del giorno della settimane con DAYOFWEEK (standard ODBC) e ordinare per questo valore. (1=domenica, 2= lunedi'.... 7 = sabato)

    Ti allego la pagina del manuale con le varie funzioni. Se preferisci in italiano ci sono un paio di pillole in merito nei thread in rilievo.

    http://dev.mysql.com/doc/mysql/en/da...functions.html


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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    52
    in pratica io ho una tabella con degli schedule televisivi con il campo data (DATE) io devo filtrare la query in modo che ad esempio se inserita nella pagina del lunedì il db mi restituisca i programmi di lunedì.
    però siccome ci sono molti "lunedì" devo fare in modo che mi appaiano solo quelli del lunedì della settimana in corso

    così analogamente creerei le pagine per tutti gli altri 6 giorni

    spero di essermi spiegato

    la tua pillola sulle date e la prima che consulto oni volta che ho a che fare con date e orari

    ciaoo

  4. #4
    Ti rispondo al volo perche' mi assale il sonno...

    Tu hai un campo date e devi estrarre i record relativi a quella data.
    La data la devi conoscere ovviamente...

    WHERE campo_data = '2005-07-15'

    a questo punto ha senso l'ordinamento per orario, perche' sara relativo solo a quel giorno. Diverso sarebbe il discorso se tu volessi estrarre tutta una settimana .... potresti per esempio basarti sulla settimana dell'anno...

    where week(campo_data) = week(CURDATE())
    order by campo_data, campo_ora

    ordinando pero' questa volta per data e ora. Le soluzioni sono molteplici. Se vuoi query automatiche e ammettiamo che devi prendere il calendario della prossima settimana:

    WHERE week(campo_data) = week(CURDATE() + INTERVAL 7 DAY)

    e via cosi'...


    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.