Problème de insert sous deux colonne pour deux array au même temps [Résolu]

- 1 nov. 2018 à 22:00 - Dernière réponse :  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>'; 

Afficher la suite 

Votre réponse

2 réponses

Messages postés
23299
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 novembre 2018
- Modifié par jordane45 le 1/11/2018 à 23:38
0
Merci
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) ) { 




Cordialement, 
Jordane                                                                 
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
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.