Aiuto calendario con database
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- darkstaring
- Linux 3.x
- Messaggi: 657
- Iscritto il: mer 13 ott 2010, 13:55
- Nome Cognome: Francesco Achenza
- Desktop: KDE
- Distribuzione: Arch Linux
- Contatta:
Aiuto calendario con database
Salve ...
Mi hanno chiesto di realizzare un calendario in php e mysql che segni in rosso i giorni feriali (inseriti da utente) e weekend.
Il mio problema sta nel db... non riesco a non creare un modello senza una sfilza di N a N..
Esite qualche funzione mysql che semplifichi il tutto??
Quali entita' usereste nel db??
Altri consigli???
Vi ringrazio
Francesco
Mi hanno chiesto di realizzare un calendario in php e mysql che segni in rosso i giorni feriali (inseriti da utente) e weekend.
Il mio problema sta nel db... non riesco a non creare un modello senza una sfilza di N a N..
Esite qualche funzione mysql che semplifichi il tutto??
Quali entita' usereste nel db??
Altri consigli???
Vi ringrazio
Francesco
- darkstaring
- Linux 3.x
- Messaggi: 657
- Iscritto il: mer 13 ott 2010, 13:55
- Nome Cognome: Francesco Achenza
- Desktop: KDE
- Distribuzione: Arch Linux
- Contatta:
Re: Aiuto calendario con database
Ora stavo pensando a questa soluzione anche se e' una porcheria:
Ci sono molti problemi, FESTIVITA conterrebbe record del tipo
`1`1`1`V`
`1`1`2`F`
`1`1`3`F`
ci metterei un giorno per riempire tutto senza dei for mirati in base ai giorni del mese, comunque credo che funzionerebbe anche se non tengo conto degli anni...
Inoltre non tengo conto del primo giorno della settimana ma credo di poterlo ricavare senza bisogno di aggiungerli nel DB da php.
Cosa ne pensate?
Codice: Seleziona tutto
GIORNI 1 ======== N FESTIVITA' N =========== 1 MESI
id id id
numero idmese nome
idgiorno
festivo (bool)
`1`1`1`V`
`1`1`2`F`
`1`1`3`F`
ci metterei un giorno per riempire tutto senza dei for mirati in base ai giorni del mese, comunque credo che funzionerebbe anche se non tengo conto degli anni...
Inoltre non tengo conto del primo giorno della settimana ma credo di poterlo ricavare senza bisogno di aggiungerli nel DB da php.
Cosa ne pensate?
-
- Master
- Messaggi: 1645
- Iscritto il: lun 16 lug 2007, 17:39
- Slackware: 15.0 64bit
- Kernel: 5.15.27
- Desktop: kde
- Località: Roma
Re: Aiuto calendario con database
guardando la tua soluzione forse non ho capito cosa devi ottenere... a cosa ti serve memorizzare sul database i giorni feriali e i week-end se puoi agevolmente ottenerlo tramite php stesso?!?!?!
eventualmente che tipo di manipolazione devi fare successivamente?!!?!?
se chiarisci un po' meglio quest'aspetto la soluzione da adottare per modellare il db puo' variare.
ad occhio pero' non capisco la 'forzatura' che stai adottando di splittare giorni-mesi-anni quando potresti tranquillamente memorizzarli in un unico campo data con associato campo dove specifichi il tipo di 'giorno'(feriale, week-end etc etc etc)
in questo modo con una query secca riesci a tirati fuori agevolmente tutti i giorni feriali(per esempio) semplicemente facendo un between da sql fra il primo giorno del mese e l'ultimo.
eventualmente che tipo di manipolazione devi fare successivamente?!!?!?
se chiarisci un po' meglio quest'aspetto la soluzione da adottare per modellare il db puo' variare.
ad occhio pero' non capisco la 'forzatura' che stai adottando di splittare giorni-mesi-anni quando potresti tranquillamente memorizzarli in un unico campo data con associato campo dove specifichi il tipo di 'giorno'(feriale, week-end etc etc etc)
in questo modo con una query secca riesci a tirati fuori agevolmente tutti i giorni feriali(per esempio) semplicemente facendo un between da sql fra il primo giorno del mese e l'ultimo.
- darkstaring
- Linux 3.x
- Messaggi: 657
- Iscritto il: mer 13 ott 2010, 13:55
- Nome Cognome: Francesco Achenza
- Desktop: KDE
- Distribuzione: Arch Linux
- Contatta:
Re: Aiuto calendario con database
Grazie miklos..
Quello che devo ottenere è una pagina web con 2 form,
il primo deve contenere una casella di input per l'immissione dei giorni feriali da salvare su db;
il secondo deve stampare un calendario del tipo:
Tutti i weekend e i giorni feriali (letti da db) devono essere scritti in rosso mentre tutti gli altri in nero...
non sò perchè ho abbandonato l'idea di tenere un'unica tabella.. mi sembrava troppo semplice forse.
se ho qualche difficoltà chiedo ..
Grazie
miklos ha scritto:guardando la tua soluzione forse non ho capito cosa devi ottenere... .
Quello che devo ottenere è una pagina web con 2 form,
il primo deve contenere una casella di input per l'immissione dei giorni feriali da salvare su db;
il secondo deve stampare un calendario del tipo:
Codice: Seleziona tutto
L M M G V S D
1 2....
non sò perchè ho abbandonato l'idea di tenere un'unica tabella.. mi sembrava troppo semplice forse.
ora provo con un' unica tabella...miklos ha scritto: ad occhio pero' non capisco la 'forzatura' che stai adottando di splittare giorni-mesi-anni quando potresti tranquillamente memorizzarli in un unico campo data con associato campo dove specifichi il tipo di 'giorno'(feriale, week-end etc etc etc)
in questo modo con una query secca riesci a tirati fuori agevolmente tutti i giorni feriali(per esempio) semplicemente facendo un between da sql fra il primo giorno del mese e l'ultimo.
se ho qualche difficoltà chiedo ..
Grazie
- darkstaring
- Linux 3.x
- Messaggi: 657
- Iscritto il: mer 13 ott 2010, 13:55
- Nome Cognome: Francesco Achenza
- Desktop: KDE
- Distribuzione: Arch Linux
- Contatta:
Re: Aiuto calendario con database
Ho trovato questa soluzione per scrivere il calendario
è sicuramente ottimizzabile (credo)
comunque funge .. adesso dovrei aggiungere le festività
Codice: Seleziona tutto
function scrivicalendario ($giorno, $mese, $anno)
{
print "<Table border=1>";
print "<tr> <td>Domenica</td><td>Lunedi</td><td>Martedi</td><td>Mercoledi</td><td>Giovedi</td><td>Venerdi</td><td>Sabato</td> </tr>";
for ($x=0; $x<5; $x++)
{
for ($y=0; $y < 7; $y++)
{
$data= mktime (0, 0, 0, $mese, $giorno, $anno);
$array_giorno = getdate($data);
if( ($giorno == 1) && ("$array_giorno[wday]" == $y) )
{
print "<td> $array_giorno[mday]</td>";
$giorno++;
}
elseif ($giorno != 1)
{
if ( "$array_giorno[mon]" != $mese)
{
break;
}
print "<td> $array_giorno[mday]</td>";
$giorno++;
}
else
{
print "<td>   </td>";
}
}
print "</TR><tr>";
}
}
print "</table>";
?>
comunque funge .. adesso dovrei aggiungere le festività