gestire Album e relative canzoni nel db

zerbo

Nuovo Utente
21 Giu 2008
1
0
0
Ciao a tutti, questo è il mio primo post. Passo subito al dunque.

Ho 2 tabelle nel db:
Album(id_album,titolo,numero_brani,anno)
Canzoni(id_canzone,nome_canzone,autore,durata,id_a lbum)

Tramite form chiedo di inserire un nuovo album e poi nella pagina RegistraAlbum memorizzo tutto sulla tabelle nel db e fin qui tutto ok. Sempre nella stessa pagina, dopo aver fatto la query per inserire i dati, stampo un altro form:
PHP:
<form action="RegistraCanzoni.php" method="post" >
      <tr>
      <td>
        Titoli Brani:<br />
      <?
      for ($i=1; $i<=$numero_brani; $i++)
        echo '<br/><input type="text" size="40" name="nome_canzone[]" />';
        //echo '<input type="hidden" name="i" value="' .$i . '" />';
       //echo '<input type="hidden" name="titolo" value="' .$titolo . '" />';
      ?>
      </td>
      <td>
        Autore:</br>
      <?
      for ($a=1; $a<=$numero_brani; $a++)
        echo '<br/><input type="text" size="40" name="autore[]" />';
 
      ?>
      </td>  
      <td>
        Durata:</br>
      <?
      for ($b=1; $b<=$numero_brani; $b++)
        echo '<br/><input type="text" size="40" name="durata[]" />';
      ?>
      </td>
      </tr>
      <tr>
      <td>
        <input type="hidden" name="titolo" value="' .$titolo . '" />
        <input type='submit' value='Inserisci Canzoni'>
        <input type='reset' value='Annulla'>
      </td>
      </form>
      </tr>
   </html>

Quind questi 3 array(nome_canzone,autore,durata) li riprendo nella pagina RegistraCanzoni.php. In questa pagina dovrei inserire nella tabella Canzoni tanti record quante sono le canzoni dell'album. Se fossero ad esempio 5 dovrei inserire 5 record con relativo nome_canzone,autore e durata; e tutte queste canzoni essendo dello stesso album dovranno avere lo stesso id_album. Ecco il 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']; 
 
$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'); 
 
//Seleiono l'id_album dell'ultimo appena iserito in modo da sapere l'id_album da assegnare a tutte queste canzoni: 
$query_maxid="SELECT id_album FROM Album ORDER BY id_album DESC limit 1";
$id=mysql_query($query_maxid, $db);
for($i=0;$i<count($nomi);$i++) 
  { 
   $autori[$i] = htmlspecialchars($autori[$i], ENT_QUOTES); 
   $nomi[$i] = htmlspecialchars($nomi[$i], ENT_QUOTES);
   $query="INSERT INTO Canzoni (nome_canzone,autore,durata,id_album) 
           VALUES ('$nomi[i]','$autori[i]','$durate[i]','$id')"; 
   mysql_query($query, $db); 
 
  }    
if (mysql_query($query, $db)) 
  { 
   echo '<h2>Registrazione effettuata correttamente</h2><br/><br/>'; 
   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); 
  } 
?>
Ora il problema:tutto gira ma capita che mi crea + record di quanto servano. Es. inserisco 1 canzone ma si creano nella tabella 2 record invece che uno solo. Altro problema è che i record ke mi aggiunge contengono come valore solo quello di id_canzone xkè è autoincrement,durata ed id_album sempre 0 mentre nome_canzone e autore non vengono riempiti.
Esempio:
Nel form inserisco i dati dell'album con una canzone, mi si apre il form dove inserisco il titolo della canzone,l'autore e la durata e invio.
Nella tabella Canzoni ottengo:
id_canzone nome_canzone autore durata id_album
1 0 0
2 0 0

Gli 0 sono sotto durata ed id_album

Potete aiutarmi?scusate per la lunghezza ma era necessario spiegare tutto per bene. Grazie in anticipo
 
Discussioni simili
Autore Titolo Forum Risposte Data
E Come gestire al meglio le immagini legno grande formato Photoshop 0
L Interfaccia grafica per gestire sql server .NET Framework 1
R Plugin per Gestire videocorsi a pagamento WordPress 3
M Come gestire aggiornamenti e modifiche di sito live CMS (Content Management System) 0
S Gestire scelta dropdown con dati da Mysql PHP 2
Tommy03 Gestire dimensioni immagini PHP 4
D Come gestire un singolo checkbox PHP 10
MarcoGrazia Gestire lista campi vuoti in fase di autenticazione jQuery 1
elpirata Gestire permessi accesso alle pagine PHP 3
A [ASP.Net] Gestire il profilo ADMIN in un progetto ASP NET e pattern MVC ASP.NET 0
M [PHP] Come gestire gli utenti online PHP 9
M [php] Come gestire i tags PHP 1
svtmaster professionalità per gestire sito web Offerte e Richieste di Lavoro e/o Collaborazione 4
L [HTML] Gestire movimento GIF HTML e CSS 0
BestSellerMauroTop Software per gestire tanti profili e pagine, e farle crescere in modo autonomo! Annunci servizi di Social Media Marketing 0
W Gestire ccTalk o libreria c++ da php PHP 0
W [PHP] gestire una richiesta curl sul server PHP 0
W Piccolo sistema per gestire alcune periferiche, Java o altro linguaggio? Java 8
bubino8 [WordPress] Gestire SSL (https://) da .htaccess WordPress 9
C [WordPress] Creare e gestire un nuovo sito web WordPress 5
M Gestire ErrorDocument 404 mantenendo lo stesso url Web Server 0
S gestire una tabella mysql PHP 9
R gestire il ritorno di una variabile con success Ajax 2
S Gestire Motion Detection TP-LINK CAMERA NC200 IP Cam e Videosorveglianza 0
A [Javascript] [HTML] Gestire una pagina esterna con 2 iframe Javascript 4
webmachine [PHP] gestire rinnovi PHP 1
P Gestire accesso ad un file xml pubblico PHP 1
D Gestire diversi tipi di pagamento per tipologia di cliente E-Commerce 4
asevenx Cerco plugin per gestire appuntamenti con agenda e campi di selezione WordPress 4
matteoraggi Software per gestire migliaia di permament redirect? SEO e Posizionamento 0
K Gestire response con servlet remota Sviluppo app per Android 1
P Piccolo software per gestire gli utenti. Snippet PHP 5
F Gestire data e ora PHP 6
D Gestire firme digitali con PHP PHP 0
C [Facebook Autolike]Software per gestire più account, mandare like, creare stati, amicizie e altro.. Vendere e Acquistare pubblicita' online 0
D gestire commenti e risposte ... PHP 3
L Gestire password utenti registrati. Quale codifica? PHP 23
asevenx Gestire posizionamento voci sottomenu che si nascondono HTML e CSS 1
N Programma per gestire Cookies secondo disposizioni del Garante Privacy 3/6/2014 G.U. 126 Leggi, Normative e Fisco 0
A Gestire e modificare immagini Java 2
M Gestire la chiusura forzata. Sviluppo app per Android 1
L Sito con doppia lingua. Gestire il cambio PHP 4
felino Wordpress e QTranslate: come gestire i widget WordPress 11
IImanuII Gestire lingua su facebook con php PHP 18
mondrian Gestire un web server su una virtualbox Apache 12
L gestire array per radio-checkbox in ciclo while PHP 2
MarcoGrazia Gestire gruppi e categorie di link con PHP PHP 1
L Button per gestire JS in WebBrowser di VBNet .NET Framework 0
A gestire errori 400-401-403-404-500 con file htaccess PHP 0
L classe per gestire login in mysql PHP 1

Discussioni simili