Mooolto più chiaro, zerbo!
Dalla prima form hai $titolo e $i, di cui non ce ne frega niente perché li hai già elaborati, dalla seconda form hai un vettore di $i elementi di $nome/$autore/$durata. La seconda form dovrebbe quindi essere qualcosa del tipo:
L'acquisizione dei dati deve essere fatta senza specificare le parentesi quadre e per la generazione della query puoi adattare l'esempio che ti avevo postato prima, cioè:Codice PHP:<form ...>
<input name="nome[]" ... /> <input name="autore[]" ... /> <input name="durata[]" ... />
<input name="nome[]" ... /> <input name="autore[]" ... /> <input name="durata[]" ... />
...
</form>
Come puoi notare, della $i non me ne frega una salciccia perché le dimensioni del vettore $nomi mi da già il numero di canzoni dell'album.Codice PHP:$nomi = $_POST['nome'];
$autori = $_POST['autore'];
$durate = $_POST['durata'];
$valori = array();
foreach ($nomi as $id => $nome) {
$autore = $autori[$id];
$durata = $durate[$id];
$valori[] = "($nome, $autore, $durata)";
}
$query = 'INSERT INTO Canzoni (nome_canzone, autore, durata) VALUES ' . implode(',', $valori);
Tieni presente che qui si stà saltando il controllo delle magic quotes (vedi stripslashes()) e l'encoding dei dati per il database (vedi mysql_escape_string()) per cui probabilmente ti compariranno slashes fantasma, ma questo è altro pane per i tuoi denti...

Rispondi quotando