Enregistrer l affichage de la boucle for dans mysql [Résolu]

- 31 oct. 2018 à 07:45 - Dernière réponse :  olmac
- 31 oct. 2018 à 17:33
bonjour a tous et en bref
j ai une petite boucle for que je l affiche en php et je veux que les nombres afficher s enregistre tous dans mysql aidez moi svp je suis nul et debutant et je sui en 1er annee dev mon code c est
<form method="post" action="">
<input type="text" name="a">
    <input type="submit" name="valide" value="valide">
</form>

<?php

$a = $_POST['a'];
$i= 1;
for ($i=1;$i<=$a;$i++)
{
    echo "$i";
    echo "</br>";
}
?>


EDIT : Ajout des balises de code
Afficher la suite 

Votre réponse

9 réponses

Messages postés
23269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2018
- 31 oct. 2018 à 09:15
0
Merci
Bonjour,

Pour commencer... comment te connectes tu à ta bdd ? Mysqli ou PDO ?

Ensuite, vu que tu débutes, je t'invite à prendre de bonnes pratiques dès maintenant.
Par exemple en appliquant ce qui est indiqué ici : http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code

NB: Pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage)
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code


ouii evidement j'ai ma base donne mysql mais qu on je fait l insertion il enregistre juste la dernier ligne c tadir le nombre 10 mais moi je veux que tous les lignes s enregistre du a a 10 je veux a voir un exemple comme ca
Messages postés
23269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2018
- 31 oct. 2018 à 09:57
Et bien...... si tu nous montrais le code avec lequel tu fais cette insertion.... on pourrait sûrement t'aider à le corriger.....
Commenter la réponse de jordane45
0
Merci
voici le code mais apres la valide juste la derniere ligne qui se sauvgarde le nombre 10

nombre donne c est 10 dans cette exemple !!!!!

<input type="text" name="nombre">


<form method="post" action="valide.php">

<?php

include('connection.php');

$nombre = $_POST['nombre'];

$i=1;

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

echo "<input type="text" name="N" value=".'$i'.">";
}

?>

</form>


pour le fichier valide :


<?php


$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$N = $_POST['N'];


$sql = "INSERT INTO table (N)
VALUES ('$N')";

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>
Messages postés
23269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2018
- 31 oct. 2018 à 11:13
Je t'ai indiqué dans ma précédente réponse comment utiliser les BALISES DE CODE pour poster tes codes sur le forum !
Merci d'appliquer la consigne à l'avenir !

Ensuite, concernant ton souci
côté html
Il faut passer par un "ARRAY"
echo "<input type="text" name="N[]" value=".'$i'.">";


Côté PHP
$N = !empty($_POST['N']) ? $_POST['N']: NULL; 

if(!empty($N)){
  $sqlValues = array();
  foreach($N as $val ){
     $sqlValues[] = "('$val')"
  }
  
  $sql = "INSERT INTO table (N) VALUES "; 
  $sql .= join(",",$sqlValues);
    
  if ($conn->query($sql) === TRUE) { 
     echo "New record created successfully"; 
  } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
  }
}
Commenter la réponse de olmac
0
Merci
ok et merci bcp je vais applique les consigne d une part et d autre part je vais essayer ton code que tu ma envoyer et après je vais l’améliorer pour êtres au niveau pour l’intégration sur d autre projet merci encore une fois jordane45
Commenter la réponse de olmac
0
Merci
bonsoir jardan45 j 'ai executer le code mais sur ma base donne je trouve pas les nombre je trouve juste le mot array voici le code


<form method="post" action="essay.php">
<?php

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

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

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

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

$a= !empty($_POST['a']) ? $_POST['a'] : NULL;
if (!empty($a)){
$sqlvalues = array();
foreach($a as $val) {
$sqlvalues[] = "('$a')";
}
$sql = "INSERT INTO aa (a) VALUES ";
$sql .= join(",",$sqlvalues);

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

} else {
echo '<script language="javascript">';
echo 'alert("Erreur de Création");';
echo 'window.location="creation.php";';
echo '</script>';
}}
?>
Messages postés
23269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2018
- 31 oct. 2018 à 17:29
petite erreur de ma part,
modifie comme ceci
foreach($a as $val) {
		$sqlvalues[] = "('$val')";
	}


J'edite mon message précédent pour y mettre la correction.

NB: Y'a du mieux pour l'utilisation des balises de code... mais ce n'est pas encore totalement ça ! Il faut préciser le LANGAGE.... relis bien le lien que je t'ai donné et applique correctement stp. Merci
Meeeeeerrrrrcccccciiiii bbbbcccccpppppp jardanetu ma sauvais la vie
Commenter la réponse de olmac

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.