Bonjour à tous, je bloque sur l'insertion de la variable "champ" dans ma base.

Explications : J'ai dans mon formulaire, un champ ou l'ont doit rentrer un nombre. En fonction de son nombre, le formulaire affiche x champ.

Le problème c'est que je n'arrive pas à modifier ma requete sql pour ajouter les x champs .

Structure de ma base
idplaylist
titre
genre
download
champ1
champ2
..
champ16
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
    // si l'utilisateur soumet le formulaire on affiche la valeur de tous les champs du formulaire
    if (isset($_POST['submit']) && $_POST['submit'] == "Envoyer")
    {
		// on affiche le nombre de champs du formulaire
		//echo 'Nombre de champs : '.$_POST['nb_champs'].'<br />';
 
		// on affiche la valeur des champs du formulaire
		    for ($i=1; $i<=$_POST['nb_champs']; $i++)
        {
				$dynamique = 'champs_'.$i;
				$champ = $_POST[$dynamique];
 
				//echo 'Champ '.$i.' : '.$champ.'<br />';
		    } 
		$idplaylist=$_POST['idplaylist'];    
		$titre=$_POST['titre'];
    $genre=$_POST['genre'];
    $download=$_POST['download'];
    $playlist=new playlist($db);  
    $nb=$playlist->insertAll($idplaylist, $titre, $genre, $download, $champ);
 
 
                  if($nb!=1)
                  {
                  echo'Erreur';
                  }
                  else
                      {
                        echo'Votre message à bien été envoyé !<br />'; 
                        echo'Vous allez être redirigé dans quelques secondes..';      
                        echo'<script LANGUAGE="JavaScript">
                        setTimeout("window.location=\'index.php?page=comixhouse.php\'",6000); 
                        // delai d\'attente en ms
                        </script> ';
                      } 
 
      }
 
 
    // sinon on affiche le formulaire avec la possibilité d'ajout des champs au formulaire
    else
    {
		        // on défini le nombre initial de champs
		        if (!isset($_POST['nb_champs']))
            {
				    $_POST['nb_champs'] = 1;
		        }
 
		        // si la personne clic sur "un champs en +", on ajoute un champs
		        if (isset($_POST['submit']) && $_POST['submit'] == "Un champs en +")
            {
			     	$_POST['nb_champs']++;
		        }
 
		// on affiche le formulaire
		echo' <form onsubmit="return verif()"action="index.php?page=ajoutplaylist.php" method="POST"  enctype="multipart/form-data">';
		// on place un champ caché contenant un entier ayant comme valeur le nombre de champs du formulaire
		echo '<INPUT TYPE="hidden" NAME="nb_champs" VALUE="'.$_POST['nb_champs'].'">';
 
 
     echo'
      <input type ="hidden" id="idplaylist" name="idplaylist"/>
        <p><label for="titre">Titre :</label>
        <input type ="text" id="titre" name="titre" />
        </p>
    
        <p><label for="genre">Genre :</label>
        <input type ="text" id="genre" name="genre" />
        </p>
    
        <p><label for="download">Download :</label>
        <input type ="text" id="download" name="download" />
        </p> ';
		// on affiche tous les champs du formulaire
		    for ($i=1; $i<=$_POST['nb_champs']; $i++)
        {
				echo '
    
        <p><label for="champ">Champ '.$i.' :</label>
        <INPUT TYPE="text" name="champs_'.$i.'" id="champs_'.$i.'"></p><br />';
		    }
 
		// on place un bouton permettant de rajouter un champs
		echo '<INPUT TYPE="submit" NAME="submit" VALUE="Un champs en +"><br />';
		// on place un bouton permettant de soumettre le formulaire
		echo '<INPUT TYPE="submit" NAME="submit" VALUE="Envoyer">';
		echo '</FORM>';
 
    }
 
 
?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
    class playlist
    {
 
      private $selectAll;
      private $insertAll;
      private $deleteOne;
 
      public function __construct($db)
      {
      $this->selectAll = $db->prepare("select * from playlist ");
      $this->insertAll=$db->prepare("INSERT INTO playlist values (:idplaylist, :titre, :genre, :download, :champ)");
      $this->deleteOne=$db->prepare("delete from livre where idplaylist=:idplaylist");
      }
 
 
 
      public function selectAll()
      {
      $this->selectAll->execute();
      return $this ->selectAll->fetchAll();
      }
 
        public function insertAll($idplaylist, $titre, $genre, $download, $champ)                  // paramétres (valeurs insérées dans la table)
    {
      $this->insertAll->execute(array(':idplaylist'=>$idplaylist, ':titre'=>$titre, ':genre'=>$genre, ':download'=>$download, 'champ'=>$champ ));     // execution de la requete
      return $this->insertAll->rowCount();                // fetchall renvoie tout les resultats
    }
 
 
     public function deleteOne ($idplaylist)  // entre les () => paramètres
    {
     $this->deleteOne->execute(array(':idplaylist'=>$idplaylist));
     return $this->deleteOne->rowCount(); 
    }
    }
?>