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.
L'ultimo pezzo di codice l'ho appena aggiunto.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";
Ho provato anche direttamente dal server a fare delle prove col join:
In questo modo ad esempio mi butta fuori due volte i nomi e li ordina non in modo corretto.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

Rispondi quotando