j'ai droit soit a mon message d'erreur soit il ne se plain pas mais n'insere rien
error_reporting(E_ALL | E_STRICT);
//et à la reception du formualire tu as $tab_dpt = $_POST['dpt']; // tab_dpt est un array //nb_dpt $nbdpt = sizeof($tab_dpt)
if ((isset($_POST['dpt'])) && ($_POST['dpt']!='')) { $tab_dpt = $_POST['dpt']; // tab_dpt est un array while ($row_dpt = array_shift($tab_dpt)) { $requete_appartenir = 'INSERT INTO compte_utilisateur(01, 02, 03, 04) VALUES(' .$row_dpt.')'or die (print_r($bdd->errorInfo())) ; $result = mysql_query ($requete_appartenir); } }(apres ce code vient mon anciene requete sql pour les champ texte)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?php //$_POST['dpt'] = array('01','02','03'); if( isset($_POST['dpt']) && !empty($_POST['dpt']) ) { // Initialisation du compteur $cpt = 0; // Recuperation du nombre de dpt; $dpt = count($_POST['dpt']); // Recuperation des valeurs $valdpt = $_POST['dpt']; // Juste pour le deboguage if ($dpt == 0 ) { die('aucun dpt'); } else { echo $dpt.' dpt'; } // fin deb // Construction de la requete SQL, $sql = "INSERT INTO compte_utilisateur(01,02,03,04) VALUES("; for( $i=0; $i < $dpt; ++$i ) { // Concatenation avec les valeur à inserer // Si la prochaine valeur est superieur à la borne max alors on ajoute pas de virgule if( $i + 1 >= $dpt ) $sql.= "'".$valdpt[$i]."'"; else $sql.= "'".$valdpt[$i]."',"; } // Fn de la boucle // Finalisation de la requête // ICI c'est la partie la plus crutial car si le nombre de case cocher est inferieur au nombre de case à remplir // Tu aura une erreur SQL genre "columns doesn't match" donc il faut verifier // si le nombre de valeur envoyer est egal un nombre de champs à remplir si c'est le cas c'est bon sinon tu complete // Donc un aura par exmple le nombre de champs à remplir = 4 $nbchampsfinal = 4; // On verifie le nombre de champs envoyer if( $nbchampsfinal > $dpt ) { for( $i = $dpt; $i < $nbchampsfinal; ++$i ) { if( $i + 1 > $nbchampsfinal ) $sql.= "''"; else $sql.= ",''"; } } $sql.= ')'; // encore deboguage pour voir si la requete c'est bien construit echo $sql; // Execution de la requete mysql_query($sql) or die(mysql_error()); // Encore une Derniere chose l'ordre des valeur dans dpt est le meme que celui de ton formulaire } ?>