Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. zerbo
    3. Post
    Z

    zerbo

    @zerbo

    • Profilo
    • Chi segue 0
    • Da chi è seguito 0
    • Discussioni 1
    • Post 3
    • Migliore 0
    • Gruppi 0
    Iscrizione Ultimo Accesso
    0
    Reputazione
    3
    Post
    0
    Visite al profilo
    0
    Da chi è seguito
    0
    Chi segue
    User Newbie

    Post creati da zerbo

    • RE: gestire Album e relative canzoni nel db

      Credo di aver risolto togliendo il for ed utilizzando un foreach;)

      postato in Coding
      Z
      zerbo
    • RE: gestire Album e relative canzoni nel db

      @Thedarkita said:

      a primo impatto:

      VALUES ('$nomi*','$autori*','$durate*','$id')";

      hai messo i invece di $i

      giusta osservazione, modificato ed ho eliminato per il momento queste 2 righe di codice xkè andava ma mi segnalava 2 warning:
      [php]
      $autori* = htmlspecialchars($autori*, ENT_QUOTES);
      $nomi* = htmlspecialchars($nomi*, ENT_QUOTES);
      [/php]

      Risultato?semetto una solo canzone inspiegabilmente continua a crearmi 2 record invece che uno solo. Se inserisco 2 canzoni invece mi crea 2 record, se ne inserisco 3 sempre 2 record, bho:?

      Però una cosa è variata. Ora nellatabella nei campi "nome_canzone" e "autore" scrive "Array".:bho:

      postato in Coding
      Z
      zerbo
    • gestire Album e relative canzoni nel db

      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_album)

      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>
      [/php]

      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* = htmlspecialchars($autori*, ENT_QUOTES);
      $nomi* = htmlspecialchars($nomi*, ENT_QUOTES);
      $query="INSERT INTO Canzoni (nome_canzone,autore,durata,id_album)
      VALUES ('$nomi*','$autori*','$durate*','$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);
      }
      ?>
      [/php]
      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?:bho:scusate per la lunghezza ma era necessario spiegare tutto per bene. Grazie in anticipo;)

      postato in Coding
      Z
      zerbo