Enregistrement de deux valeur array sous mysql

Résolu/Fermé
xarosemomba - 1 nov. 2018 à 09:32
jordane45 Messages postés 37277 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 mars 2023 - 1 nov. 2018 à 21:47
bonjour a tous j'ai cree un script php qui enregistre un array sous mysql sur mon code j'affiche une liste des nombres et je l'enregistre sur ma table aa colonne a pour l'instant je veux ajouter une colonne b
pour saisir un array concerne des noms sur le meme script mais au moment de l'affichage la table s'affiche comme ca ctadir il enregistre dabor la colonne a avant b moi je veux les deux au meme temps merci d'avance

colonne a colonne b
1
2
3
nabil
steph
ibraam
mon code :


<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) VALUES ";
$sql .= join(",",$sqlvalues);

$sql2 = "INSERT INTO aa (b) VALUES ";
$sql2 .= join(",",$sqlval);
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>';
	
} else {
	echo '<script language="javascript">';
	echo 'alert("Erreur de Création");';
	echo 'window.location="home.php";';
	echo '</script>';
}}
?>
A voir également:

6 réponses

jordane45 Messages postés 37277 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 mars 2023 341
1 nov. 2018 à 09:49
Bonjour,
Essaye de comprendre ce que fait cette requête :
INSERT INTO tatable (colA, colB) VALUES ('val1','val2')

0
donc il faut que j'utilise INSERT INTO tatable (colA, colB) VALUES ('val1','val2') A LA PLACE DE

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

$sql2 = "INSERT INTO aa (b) VALUES ";
$sql2 .= join(",",$sqlval);
0
jordane45 Messages postés 37277 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 mars 2023 341
1 nov. 2018 à 12:09
A ton avis... si je t'en parle.... ce n'est pas pour rien...

Donc..OUI.
0
donc il faut que j'utilise INSERT INTO tatable (colA, colB) VALUES ('val1','val2')
par contre

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

$sql2 = "INSERT INTO aa (b) VALUES ";
$sql2 .= join(",",$sqlval);
0
Hhhhhh c bon chef merci
0
bonsoir jordane45 j'ai executer le requette que tu ma envoyer

INSERT INTO tatable (colA, colB) VALUES ('val1','val2')

mais le problem elle enregistre juste la dernier ligne du array pour les deux colonnes
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aiiiiider moi problem tjr existe cette requette oooohhhhh elle enregistre juste la derner ligne du array oh mon dieu je me sens tres fatigue pppfffff
<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>';

} else {
echo '<script language="javascript">';
echo 'alert("Erreur de Création");';
echo 'window.location="home.php";';
echo '</script>';
}}
?>
0
jordane45 Messages postés 37277 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 mars 2023 341
1 nov. 2018 à 19:57
Vas tu enfin utiliser les BALISES DE CODE ???!!!!
Je ne répondrai que lorsque tu auras posté correctement ton code !
0
C pas la plaine de me dire ça car si vous êtes pro ta déjà le code donc il faut juste lire mon message et me résoudre le problème mais vous êtes l un des personne qui mettre des procédure banale merci encore une fois sur le forum des bête
0
jordane45 Messages postés 37277 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 mars 2023 341
1 nov. 2018 à 21:47
J'ai la reponse mais en tant que moderateur je suis la aussi pour
Faire respecter les règles du forum.
Et si tu ne veux pas faire d'efforts... je n en ferai pas non plus !
Bonne soiree je clos la discussion.
Reviens quand tu auras compris que nous ne sommes pas a tes ordres...
0
Rejoignez-nous