UPDATE des données dynamiques de formulaire

Résolu/Fermé
RSC_8627 Messages postés 2 Date d'inscription mercredi 25 mai 2022 Statut Membre Dernière intervention 25 mai 2022 - Modifié le 25 mai 2022 à 06:14
RSC_8627 Messages postés 2 Date d'inscription mercredi 25 mai 2022 Statut Membre Dernière intervention 25 mai 2022 - 25 mai 2022 à 22:14
Bonjour,

Je me creuse la tête depuis plusieurs jours sur le problème suivant :

J'ai un tableau listant des nom de légumes, ce tableau est variable (là il y a en 3; demain il peut y en avoir 25, puis 40 le sur-lendemain et ainsi de suite)

Sur chaque ligne, on a la possibilité de rentrer une valeur chiffre puis valider le résultat à la fin comme ci-dessous :


Et voici la table associée "legume" :


Le but est que lorsque je clique sur "Valider", tous les chiffres inscrits dans les champ soit UPDATE dans la colonne "quantity" de ma table "legume"

J'ai deux codes, l'un me permet de générer mes lignes avec les champ, l'autre est supposé les UPDATE en base :

Code pour créer mes champs :

<?php
// Connexion à MySQL
$connexion=mysqli_connect("localhost", "root", "root", "legume");

if (!$connexion){ // Contrôler la connexion
$MessageConnexion = die ("connexion impossible");
}

// Récupération de tous les enregistrements de la table disques
$recipes = $connexion->query('SELECT * FROM legume');
?>
<!DOCTYPE html>
<html>
<head></head>
<body>
<form name="form1" method="post" action= "fonction.php" ?>
<input type="submit" name="Bouton" value="Valider">
<table>
<?php
while ($lines = mysqli_fetch_array($recipes)){ ?>
<tr>
<td><input type="text" name="quantity" id="quantity"></td>
<td><?php echo $lines['description']; ?></td>
</tr>
<?php
}
?>
</table>
</form>
</body>
</html>


Code pour UPDATE les valeurs chiffres dans la colonne "quantity" (fonction.php) mais qui ne marche pas :

<?php
// Connexion à MySQL
$connexion=mysqli_connect("localhost", "root", "root", "legume");

if (!$connexion){ // Contrôler la connexion
$MessageConnexion = die ("connexion impossible");
}
else {
if(isset($_POST['Bouton'])){ // Autre contrôle pour vérifier si la variable $_POST['Bouton'] est bien définie
$quantity=$_POST['quantity'];

// Requête de MAJ
$UpQuantity= "UPDATE choice SET quantity = $quantity WHERE ID = ?";

// Exécution de la requête
mysqli_query($connexion, $UpQuantity) or die('Erreur SQL !'.$UpQuantity.'<br>'.mysqli_error($connexion));
}
}
echo "<p style='color:purple'>Enregistrement réussi !</p>";
?>

<p><a href="Accueil.php">Retour à l'accueil</a></p>



Plusieurs m'indique de mettre un "name = valeur[]" puis de faire une comparaison avec les ID. Seulement je suis un débutant en PHP je ne vois pas comment l'écrire (Croyez-moi cela fait plusieurs jours que je suis dessus ...)

En vous remerciant par avance de votre aide.


Configuration: Windows / Chrome 101.0.4951.67
A voir également:

1 réponse

yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
25 mai 2022 à 12:21
bonjour,
je pense que ceci t'orientera dans la bonne direction:
https://www.delftstack.com/fr/howto/php/php-posting-arrays/
0
RSC_8627 Messages postés 2 Date d'inscription mercredi 25 mai 2022 Statut Membre Dernière intervention 25 mai 2022
25 mai 2022 à 22:14
Bonjour yg_be, merci beaucoup pour ton lien, ça ma beaucoup aidé et ma permis de trouver enfin la bonne écritures ! :)
0