Ciao a tutti!
E' da parecchio tempo (anni) che sogno di realizzare delle select dinamiche che interagiscano con il database. Essendo assolutamente una nullità con javascript mi sono sempre dedicato solo vagamente all'argomento, ma in questi giorni vorrei provare almeno a capire di che cosa si parla... In base a quello che ho capito esiste un sistema che adotta un aggiornamento 'fittizio' lanciato da javascript, un altro che invece punta sulle variabili passate in fase di refresh con $_GET o $_POST. Penso che la seconda soluzione non vada bene, ma vorrei avere un giudizio da parte di chi ne capisce...
Ho creato un sito in PHP+MySQL in cui si simula un campionato di calcio (tipo Hattrick, per chi lo conosce). C'è quindi la necessità che ogni 'allenatore' inserisca la sua formazione scegliendo 17 giocatori dalla sua rosa (11 titolari + 6 riserve). Ciò è gestito da 17 select che interrogano il database. L'evoluzione consisterebbe in questo: dovrebbe essere reso immediatamente visibile all'allenatore (nel momento in cui interagisce con una select) il fatto che un giocatore è già stato selezionato in una select precedente, per evitare che inserisca due volte lo stesso giocatore (oggi viene fatto un controllo dopo il submit, e se c'è un errore l'allenatore viene avvisato e rimandato indietro). Pensavo a una di queste soluzioni:
1- una volta selezionato in una select, il giocatore scompare dalle select successive
oppure
2- una volta selezionato un giocatore, se questo era già stato inserito scompare dalle select precedenti
oppure
3- una volta selezionato un giocatore, questo appare in un colore diverso nelle select successive
Ovviamente l'ideale è il mix 2+3, ma andrebbe bene anche una sola delle 3 soluzioni.
Il problema di passare i valori con un ri-caricamento della pagina è che questa è già imbottita di variabili $_GET e $_POST (se la formazione è già stata inserita le select sono già riempite e si possono fare solo modifiche; se la formazione non c'è viene ripresentata quella della partita precedente). Quindi sarebbe molto più comodo che la gestione venisse fatta a parte da javascript... o no?
Beh, questa è una parte del codice della pagina, qualora serva; è riferito ad una delle 17 select, le altre sono (per quello che interessa) identiche:
Ho provato a cercare soluzioni in tantissime discussioni ma non le ho trovate; mi scuso se invece l'argomento è già stato trattato e se la domanda è un pò goffa, ma sono un autodidatta con molti buchi...Codice PHP:
echo "Portiere: <select name='player1>'";
$selected = "";
echo "<option $selected value='0'>nessuno selezionato</option>";
$query = "SELECT * FROM my_nikle_giocatori WHERE id_teams = '$id_team' ORDER BY cognome ASC";
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result)) {
$id_player = $row['id_giocatore'];
$selected = "";
if ($id_player1 == $id_player AND $exist == "Modifica")
$selected = "selected";
if ($id_giocatore_for_last_formation_1 == $id_player AND $exist == "Creazione")
$selected = "selected";
$player_surname = $row['cognome'];
$player_name = $row['nome'];
echo "<option $selected value='".$id_player."'>$player_surname $player_name</option>";
}
echo "</select>";
Grazie!