Gestire form multiutente

Grazie al vostro aiuto sono riuscito ad inserire nella tabella "voti" e in quella "note" i voti con le annotazioni per ciascun studente. Vorrei però anche la possibilità di inserire i voti di tutti gli studenti con un solo form (ad esempio un compito ove la data è uguale per tutti ma non i voti...). Attualmente inserisco voti e note ad uno studente alla volta.

inviato 9 anni fa
lupo53
X 0 X

potresti usare tanti campi input con nome del tipo "voto[]" e altrettanti campi nascosti associati dal nome "matricola[]" con valore pari alle singole matricole degli studenti.

Avresti così i seguenti dati da poter utilizzare nello script PHP:

$_POST['matricola'][0] = "100";
$_POST['voto'][0] = "9";

$_POST['matricola'][1] = "132";
$_POST['voto'][1] = "8";

$_POST['matricola'][2] = "123";
$_POST['voto'][2] = "7";

$_POST['matricola'][3] = "432";
$_POST['voto'][3] = "9";

$_POST['matricola'][4] = "213";
$_POST['voto'][4] = "5";

Con un ciclo FOR li estrai ad uno ad uno:

for($i=0, $c=count($_POST['matricola']); $i<$c; $i++) {
   echo "studente MAT. ", $_POST['matricola'][$i], " voto = ", $_POST['voto'][$i];
}

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Ho più o meno capito...

Ma la pagina che serve per inserire nel database i voti e le annotazioni come dovrebbe essere strutturata?

risposto 9 anni fa
lupo53
X 0 X

Nel ciclo FOR che ti ho schematizzato prima, al posto del'echo metti le INSERT

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Se ho capito bene per ogni studente devo fare una INSERT?

risposto 9 anni fa
lupo53
X 0 X
Se ho capito bene per ogni studente devo fare una INSERT?

Si, è la strada più semplice. Oppure con un'unica INSERT di tipo:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9)

da utilizzare DOPO il ciclo FOR con i dati raccolti durante il ciclo e salvati magari in un array

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Grazie

risposto 9 anni fa
lupo53
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda