Modifier plusieurs lignes d'une table Mysql avec une seul requête
Posté : 07 nov. 2016, 19:01
Bonjour,
Je viens vers vous car je n'ai pas su adapter les solutions trouvé sur le Net pour modifier une table Mysql avec une seul requête.
Avec ce code J'affiche un tableau de 29 lignes modifiables. :
Page formulaire.php
Avec le code suivant
Page upload.php
Je souhaite donc modifier les 29 lignes de mon tableau. Mais avec mon code je ne modifie que la dernière.
J'ai bien vu sur le Net qu'il faudrait utiliser un "ARRAY" mais je ne sais pas faire.
SVP est-ce que vous pouvez m'aider ?
Merci d'avance pour votre aide
Patrick
Je viens vers vous car je n'ai pas su adapter les solutions trouvé sur le Net pour modifier une table Mysql avec une seul requête.
Avec ce code J'affiche un tableau de 29 lignes modifiables. :
Page formulaire.php
Code : Tout sélectionner
<table>
<form action="upload.php" method="post" enctype="multipart/form-data">
<fieldset>
<caption>Tableau du Bureau</caption>
<tr>
<td class= "titre_col1">Non Prénom</td>
<td class= "titre_col1">Bureau</td>
</tr>
<?php
try
{
include('./connexion.php');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$req1 = $bdd->query('SELECT * FROM table_bureau LIMIT 0, 29');
while ($donnees = $req1->fetch())
{
$id = $donnees['id'];
$nom_prenom= $donnees['nom_prenom'];
$bureau = $donnees['bureau'];
?>
<input type="hidden" name="id" value="<?PHP echo $id?>">
<tr>
<td>
<input type="text" name="nom_prenom" value="<?php echo $nom_prenom; ?>"/>
</td>
<td>
<input type="text" name="bureau" value="<?php echo $bureau; ?>"/>
</td>
</tr>
<?php
}
$req1->closeCursor(); // Termine le traitement de la requête
?>
<tr>
<td colspan="2"><br/>
<input type="submit" name="sub" value="Modifier !">
</td>
</tr>
</fieldset>
</form>
</table>Page upload.php
Code : Tout sélectionner
<?php
$id =$_POST['id'];
$nom_prenom =$_POST['nom_prenom'];
$bureau =$_POST['bureau'];
echo $id;
echo $nom_prenom;
echo $bureau;
try
{
include('./connexion.php');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$req = $bdd->prepare('UPDATE table_bureau SET nom_prenom = :nom_prenom, bureau = :bureau WHERE id = :id');
$req->execute(array(
':nom_prenom' => $nom_prenom,
':bureau' => $bureau,
':id' => $id
));
{
}
echo '</ul>';
$req->closeCursor();
?>Je souhaite donc modifier les 29 lignes de mon tableau. Mais avec mon code je ne modifie que la dernière.
J'ai bien vu sur le Net qu'il faudrait utiliser un "ARRAY" mais je ne sais pas faire.
SVP est-ce que vous pouvez m'aider ?
Merci d'avance pour votre aide
Patrick