Nella mia tabella giornate ho l'id giornata, quell'id si autoincrementa quindi tiene conto dell'ordine in cui vengono inseriti i giocatori.
Se la faccio xò mi scombussola un po le cose, tipo esce due volte l'elenco. Oppure mi da l'ordine casuale.
Ti provo a lascaire il codice, se non capisci qualcosa chiedi pure, ho cmq fatto dei commenti
le tabelle sono composte come ho scritto nel primo post. Dentro giornate ci sono 5 campi:
id,voto,cod_calciatore,cod_utente,num_giornata
Naturalmente cod_calciatore e cod_utente si possono ripetere, cambieranno xò gli id e il num della giornata.
Quello che devo fare ora è selezionare i nomi, in base alla giornata scelta.
codice:
if( isset($_POST["giorn"]) ){ #controllo se è stata selezionata una giornata
$formid="SELECT cod_calciatore,voto FROM giornate WHERE num_giornata = ".$_POST['giorn']." AND cod_utente = ".$_SESSION['id_utente']." "; #Query per selezionare tutti i cod_calciatori passati
$q_formid=mysql_query($formid);
$nomi="SELECT nome FROM calciatori,giornate WHERE "; # Query per recuperare i nomi dei calciatori passati.
$i=18; #Inizializzo un contatore a 18 (il num max dei calciatori schierabili)
while($i>0){
$mfa_formid=mysql_fetch_array($q_formid); #Recupero i cod calciatori tramite la fetch array della query precedente
$nomi.=" id_calciatore =".$mfa_formid["cod_calciatore"]." ";
if ($i != 1)
$nomi.=" OR"; #Concateno i vari cod calciatori finchè ne rimane soltato uno
$i--;
}
$nomi.="AND num_giornata = ".$_POST['giorn']." ORDER BY id_giornata";
L'ultimo pezzo di codice l'ho appena aggiunto.
Ho provato anche direttamente dal server a fare delle prove col join:
codice:
SELECT nome FROM calciatori JOIN giornate ON id_calciatore =1 OR id_calciatore =95 OR id_calciatore =205 OR id_calciatore =100 OR id_calciatore =290 ecc. ecc. WHERE num_giornata = 1 ORDER BY id_giornata
In questo modo ad esempio mi butta fuori due volte i nomi e li ordina non in modo corretto.