Si ma se io creo la lettera A , cliccandoci a ke link devo riporarla? xke se io creo dei contenuti che lui mi immagazzina nella sezione no è che me li suddivide per lettera, dovrei farlo io con ogni minima recensione giusto?X_X
Vediamo se sto giro riesco a spiegarmi meglio ^^.
Io non modificherei solo la pagina ma andrei anche a ripensare anche ai DataBase nel caso in cui ne avessi gia' fatti.
Supponiamo la situazione sia questa:
i tuoi dati sono:
Generi Musicali
Autori
Canzoni
quello che vuoi e' [riassumo in una situazione che mi fa comodo anche se non ho ben capito se e' la tua]:
- una suddivisione per genere ( non ne terro' conto )
- una suddivione in ordine alfabetico
Io farei la struttra dei DATABASE in questo modo
DB_GENERI:
[ID][GENERE] // un genere ha un nome che qui chiamo GENERE e un'id
DB_ALFABETO:
[ID][NOTAZIONE] // una lettera dell'alfabeto ha una notazione e un'id
DB_AUTORI:
[ID][ID_ALFABETO][NOME]
// un autore ha un nome, viene indicizzato alfabeticamente e non per genere visto che puo' avere piu' generi o non averne uno e un'id
DB_CANZONI:
[ID][ID_GENERE][ID_AUTORE][NOME]
// una canzone ha un genere, un autore e un titolo [NOME] piu' l'id.
I rapporti sono:
[DB_ALFABETO] 1-->N [DB_AUTORI]
[DB_AUTORI] 1-->N [DB_CANZONI]
[DB_GENERE] 1-->N [DB_CANZONI]
Dove 1-->N indica un rapporto da 1 a N elementi.
( 1 genere ha piu' canzoni e piu' canzoni sono nello stesso genere ).
La pagina invece funzionerebbe in questo modo:
1-
Carichi la pagina con i listati divisi per genere e/o per lettere dell'alfabeto.
Per farlo fai una query sui DB GENERE e/o ALFABETO e fai caricare i risultati nella pagina come link.
Da qui prendo la strada piu' facile anche se meno elegante.
Il link rimanda alla stessa identica pagina, mandando 2 valori in get che userai per sapere cosa fare e cosa cercare.
del tipo:
pagina.php?cosa_fare=trova_autori&lettera=1
Spiegazione: cosa_fare di serve per sapere quale azione compiere
lettera indica l'id della lettera in DB_ALFABETO
2-
clicchi sul link.
la prima cosa da fare e' fare un test sull'azione
if($_GET['cosa_fare']=='trova_autori')
se e' negativo torna al punto 1 e carica la pagina normale.
se e' positivo allora lanci la query sugli autori guardando che il valore di ID_ALFABETO sia uguale a quello che ti sei passato prima ( $_GET['lettera'] )
Carichi i risultati con un ciclo foreach e metti ogni risultato ( quindi ogni autore ) come link alla solita pagina
pagina.php?cosa_fare=trova_canzoni&autore=1
La spiegazione e' identica a prima.
3-
clicchi sul link
fai il controllo sull'azione
se lo passi lanci la query e carichi i titoli delle canzoni che sono dei link alla stessa pagina
pagina.php?cosa_fare=mostra_canzone&quale=1
Chiaramente fatta cosi' e' una chiavica perche' se hai 4000 autori .. ti viene un listato di 4000 voci ma e' solo per spiegare l'idea di base.
Le ottimizzazioni sono sempre l'ultima cosa da fare.
Si pone .. mi rendo conto ora.. il problema del come fare l'inserimento.
Supponiamo tu stia usando il prodotto xyz per caricare le tue recensioni agli autori.
Nel modulo di amministrazione vai a spulciarti le query e i form di inserimento e aggiungi i campi che ti interessano.
All'inserimento invece di lavorare su un solo DB lavori su 4.
Devi tener conto di:
ID canzone
ID autore ( da recuperare se l'autore e' gia' presente )
ID genere ( da recuperare se il genere e' gia' presente )
che sono i dati che legano un db all'altro.
Secondo me, lasciando perdere la parte grafica, a farlo bene e' un lavoro da un paio di giorni.