Ciao ragazzi, a distanza di mesi riprendo qesto mio tpic...nel frattempo il tutto è rimasto in sospeso e da una aettimana ho ripreso il progetto in mano ke spero di fare entro luglio...Ho risolto vari problemi ma sono ancora alle prese con questo problema, facendo come indicato sopra nn sono riuscito a risolvere.
Ho tra le altre queste 2 tabelle:
Album Canzoni
id_album nome_canzone
titolo autore
anno durata
numero_brani id_album
Premetto ke nel primo form tutto funziona bene e inserisco i dati nella tabella Album, poi parte subito il form per inserire i dati sulle canzoni, tanti campi text quante sono le canzoni dell'album. Compilo il form ma nn riesco ad inserire i dati nella tabella Canzoni dove dovrei ottenere un risultato come questo:
titolo_canzone1 autore_canzone1 durata_canzone1 id_album
titolo_canzone1 autore_canzone1 durata_canzone1 id_album
Naturalmente canzoni dello stesso album avranno lo stesso id_album
Ho provato con questo codice:
Codice PHP:
<?php
include("config.inc.php");
//Recupero dei dati inviati dal form di registrazione dell'artista
$nomi=$_POST['nome_canzone'];
$autori=$_POST['autore'];
$durate=$_POST['durata'];
$dimensione_array=count($nomi);
$db = mysql_connect($db_host, $db_user, $db_password) ;
if ($db == FALSE)
{
die ('Errore nella connessione. Verificare i parametri nel file config.inc.php');
}
mysql_select_db($db_name, $db)
or die ('Errore nella selezione del database. Verificare i parametri nel file config.inc.php');
//Quando sarà il momento di visualizzare, potremmo avere problemi con alcuni
//caratteri, in particolare con quelli che vanno in contrasto con i tag html.
//Per questo conviene ancora sostituire il carattere < con l'equivalente html
//< e inserire nel testo i tag di fine riga:
for($i=0;$i<=$dimensione_array;$i++)
{
$autori = str_replace( "<", "<", $autori);
$autori = str_replace( ">", ">", $autori);
$nomi= str_replace( "<", ">", $autori);
$nomi= str_replace( ">", ">", $autori);
$query="INSERT INTO Canzoni (nome_canzone,autore,durata)
VALUES ('$nomi[i]','$autori[i]','$durate[i]')";
mysql_query($query, $db);
}
if (mysql_query($query, $db))
{
echo '<h2>Registrazione effettuata correttamente</h2>
';
echo 'Sarai automaticamente indirizzato alla pagina principale ';
?>
<html>
<SCRIPT LANGUAGE="JavaScript">window.setTimeout("document.location='HomePageArtista.php'",5000)</SCRIPT>
</html>
<?php
}
else
{
die(mysql_error());
echo "Errore durante l'inserimento" ;
mysql_close($db);
}
?>
Al momento l'errore ke mi viene dato ha questa dicitura: Duplicate entry '' for key 1
Che mi dite raga riguardo all'errore e al codice?sto forse sbagliando concettualmente o no?grazie in anticipo