- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Realizzazione di una pagina concerti in php e mysql
-
Realizzazione di una pagina concerti in php e mysql
Ciao ragazzi allora piccolo problema.
Sto realizzando un sito web per un gruppo musicale.
Loro avrebbero bisogno di una pagina per i concerti che si appoggi su db mysql in modo da potersela aggiornare di volta in volta.Se volete potete vederla su:
geko04.altervista.org/concerti.phpCome vedete i concerti vengono divisi in base a mese e anno
Praticamente io ho creato con phpmyadmin 3 tabelle:
Tabella anno: id_anno, data_anno
Tabella mese: id_mese, nome_mese
Tabella concerti: id_concerti, anno_concerti (prende i valori dalla tabella anno), mese_concerti (prende valori da tabella mesi), data_concerti, luogo_concerti ecc...Ho messo nella pagina i nomi dei mesi come pulsanti (non sono quindi caricati da database ma li ho inseriti io come link e il concetto è che ogni volta carichino una pagina diversa tipo gennaio.php, febbraio.php ecc in cui i record vengono filtrati in base al mese).
Fino a quì tutto ok.
Il problema è che loro vogliono che vengano visualizzati solo i mesi in cui sono stati caricati dei concerti.
Come posso fare?:?Ho pensato che per per fare questo i mesi dovrebbero essere caricati dai record del database, e il tutto dovrebbe essere gestito diversamente, non so come fare però.
Spero di essermi spiegato bene.
Grazie mille a chiunque volesse darmi una mano.
-
@rttz said:
[***]
Un modo veloce, che mi viene in mente seguendo ciò che hai scritto, è distinguere ("SELECT DISTINCT(mese_concerti) ....... ") i mesi coinvolti (spero che il valore sia numerico cioè l'id del mese scritto), dalla tabella CONCERTI e a questo punto visualizzare solo i mesi coinvolti confrontando il mese_concerti della tabella CONCERTI con l'id della tabella mesi.
Spero mi sia spiegato altrimenti cercherò di farti un esempio.
CIAO e fammi sapere
-
Ciao rttz,
devi metter in JOIN le tabelle 'anno' e 'concerti':[php]
select B.* from concerti A JOIN anno B
on A.anno_concerti = B.data_anno
[/php]In A.anno_concerti è salvato l'anno o l'id dell'anno salvato in B?
Non sono sicuro di aver scelto il campo giusto della tabella B sulla condizione ON.Prova e facci sapere.
-
mikslap:
non ho capito molto bene l id_mese è un id numerico a cui poi ho associato un testo come campo nome mese per avere un etichetta nelle pagine di gestione.
Come faccio a "visualizzare solo i mesi coinvolti confrontando il mese_concerti della tabella CONCERTI con l'id della tabella mesi."mirkoagrati:
Non ho capito benissimo anche qui come devo procedere io devo usare la tebela mesi non quella anno però alla fine il discorso è lo stesso perchè tabella mesi e tabella anno sono costruite nello stesso modo.
Al posto di A e B devo inserire qualche valore? facendo questo join quale vantaggio mi da?Scusate l ignoranza ragazzi magari per voi sono cose ovvie, ma io purtroppo sono più grafico che programmatore e quindi su certe cose mi mancano proprio le basi credo.
Tra le due risposte quale potrebbe funzionare meglio per il mio caso secondo voi?Grazie mille per l aiuto che mi state dando, siete molto gentili.
-
Ciao,
hai provato a fare girare la query?A e B non sono variabili:
Dai uno sguardo a qualche tutorial SQL, mi sembra il minimo per poi lavorare con un DB, anche se non si hanno grandi pretese.
-
Mi puoi consigliare qualcosa a livello di tutorial?
Grazie mille
-
Ciao,
per un'introduzione 'soft' al linguaggio SQL ti consiglio il tutorial on-line del W3C.Puoi trovarlo qui.
-
Ciao ragazzi ho messo in JOIN le tabelle ora seleziona giustamente solo i mesi per i quali è stato effettivamente inserito un concerto.
Il problema ora però è che se ho 2 o 3 concerti in uno stesso mese il nome di quel mese mi viene duplicato per X volte.
Come gli dico di non visualizzare più volte lo stesso campo?
-
Ciao rttz,
puoi fare GROUP BY id_mese nella query.
-
Perfetto, funziona ragazzi!!!!!
Mi siete stati davvero di grandissimo aiuto!!
Posto la query usata se mai a qualcuno potesse servire:SELECT newsconcert_mese.id_mese, newsconcert_mese.nome_mese, concerti_concerti.mese_concerto
FROM newsconcert_mese, concerti_concerti
WHERE newsconcert_mese.id_mese = concerti_concerti.mese_concerto
GROUP BY id_mese
ORDER BY newsconcert_mese.id_meseGrazie mille a tutti e grazie a questo forum.
A presto