Problème de insert sous deux colonne pour deux array au même temps

Résolu
Xarosemomba - 1 nov. 2018 à 22:00
 xarosemomba - 1 nov. 2018 à 23:59
Bonjour, OK c bon voici le code je respect les consigne
<input type="text" name="n"> 
<form method="post" action="essay.php"> 
<?php 

$mysqli = new mysqli('localhost', 'root', '', 'location'); 

$i=1; 
for($i=1;$i<=3;$i++){ 

echo ' 
<input type="text" name="a[]" value="'.$i.'"><br />'; // affichage 
<input type="text" name="b[]" value="'.$n.'"><br />'; // affichage 
} 
?> 
<input type="submit" name="valide" value="valide"></form> 

<?php 
$mysqli = new mysqli('localhost', 'root', '', 'location'); 

$a= !empty($_POST['a']) ? $_POST['a'] : NULL; 
$b= !empty($_POST['b']) ? $_POST['b'] : NULL; 
if ((!empty($a)) and (!empty($b))) { 
$sqlvalues = array(); 
foreach($a as $val) { 
$sqlvalues[] = "('$a')"; 
} 
$sqlval = array(); 
foreach($b as $vl) { 
$sqlval[] = "('$b')"; 
} 
$sql = "INSERT INTO aa (a,b) VALUES ('$val,''$vl')"; // ici ya quelque chose qui cloche 

if((mysqli_query($mysqli, $sql)) and (mysqli_query($mysqli, $sql2))) { 
echo '<script language="javascript">'; 
echo 'alert("Votre Compte Bien Crée");'; 
echo 'window.location="home.php";'; 
echo '</script>'; 

1 réponse

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
Modifié le 1 nov. 2018 à 23:38
Ben voila.

Donc, déjà.. d'où vient ta variable $n ?

Ensuite, pour être sûr que tes valeurs "a" et "b" correspondent bien, il faut un identifiant commun dans l'array. $i par exemple.

Ce qui donnerait :
//$i=1; //ne sert à rien

for($i=1;$i<=3;$i++){ 
 echo '  <input type="text" name="a['.$i.']" value="'.$i.'"><br />'; // affichage 
 echo  ' <input type="text" name="b['.$i.']" value="'.$n.'"><br />'; // affichage 
}


Ensuite.. où est passé le JOIN que je t'avais donné dans ta première question ?
Et puis, faut mettre des deux variables dans les "values" de ta requête

Bref, un truc du genre :

<?php 
//$mysqli = new mysqli('localhost', 'root', '', 'location');  // ne sert à rien vu que tu l'as déjà déclaré quelques lignes plus haut

$a= !empty($_POST['a']) ? $_POST['a'] : NULL; 
$b= !empty($_POST['b']) ? $_POST['b'] : NULL; 

if ( !empty($a) && !empty($b) ) { 
  $sqlvalues = array(); 
  foreach($a as $key => $val) { 
     $sqlvalues[] = "('$val', '".$b[$key]."')"; 
  } 

  $values = join("," , $sqlvalues);
  $sql = "INSERT INTO aa (a,b) VALUES $values ";

  //le temps des tests.. regarde ce que donne un echo de ta requête
  echo "<br><b>La requête : </b><br>".$sql;

  if( mysqli_query($mysqli, $sql) ) {
     //le reste de ton code

  }


}//fin du IF => if ( !empty($a) && !empty($b) ) { 




0
ouiiiii effectivement j'ai intégrer le code que tu ma envoyer ça marche bien plus de ça il faut que je maîtrise les jointure sous php d’après un cours pour le bien pratiquer merci encore une fois et pardon si je fait un mauvais comportement pour la discussion précédente c est juste je suis un peut stresser de mon projet c est tous merci bcp pour votre aide
0
Rejoignez-nous