Selezionare un intervallo tra due date, php e mysql

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Buongiorno,
quando ho creato la tabella che si chiama "calendario", mi era sembrata una buona idea inserire quattro campi separati per anno, mese, giorno e giorno della settimana.
Peccato che adesso debba selezionare le lezioni comprese in un determinato periodo (inserendo in un form - che ho gà preparato - le due date di inizio e fine periodo) e poi sommare il contenuto di un campo che si chiama "posti disponibili".
Magari è possibile "riunire" i tre campi giorno, mese e anno per ottenere un unico campo di tipo data? Così potrei utilizzare "between" tra le due date.
O devo per forza eseguire una serie di query di selezione prima per anno (maggiore o uguele a primo e minore o uguale al secondo), poi per mese (>= del primo e <= del secondo)... e con il giorno come farei?
Ogni suggerimento è gradito, graditissimo...
Grazie
 
ciao
secondo me ti conviene modificare la tabella
aggiungi un campo 'data' e poi lo riempi
PHP:
<?php
//...
$query=mysql_query("SELECT * FROM tabella");//metto i nomi a caso
while($riga=mysql_fetch_assoc($query)){
    $id=$riga['id'];
    $data=$riga['anno']."-".$riga['mese']."-".$riga['giorno'];//ti conviene metterla nel formato AAAA-MM-GG
    $uppa=mysql_query("UPDATE tabella SET data='$data' WHERE id=$id");
}
?>
i campi giorno mese e anno puoi lasciarli o se non ti servono puoi eliminarli
poi fai la ricerca con between concatenando AAAA mmm gggg che inputi dal form di ricerca
 
Grazie.
L'unica menata è che ora devo prima cambiare le varie query aggiungendo il nuovo campo data... comunque sempre meglio che non fare una query complicatissima e che non sono neppure sicuro di riuscire a far funzionare correttamente...
Ora mi ci applico e grazie ancora. Alla prossima
 

Discussioni simili