PHP envoi de requête via input de type submit [Résolu/Fermé]

Signaler
Messages postés
19
Date d'inscription
vendredi 29 juin 2012
Statut
Membre
Dernière intervention
21 septembre 2015
-
Messages postés
19
Date d'inscription
vendredi 29 juin 2012
Statut
Membre
Dernière intervention
21 septembre 2015
-
Bonjour, après avoir affiché une table de ma base de donnée mysql contenant une liste de livres et à coté de chaque ligne un bouton "réserver". Je souhaiterais pouvoir lorsque je clique sur le bouton, envoyer une requête pour pouvoir insérer dans le champ "loue_par" de la table "livres" le nom du membre connecté. Voici le code :

<?php //Connection avec la BDD.
mysql_connect("localhost", "root", "");
mysql_select_db("bibliotheque");
$query = "SELECT * FROM livres";
$reponse = mysql_query($query);
?>

<table border="3">
<tr>
<th>Titre</th>
<th>Auteur</th>
<th>Editeur</th>
<th>Commentaire</th>
<th>Catégories</th>
<th>Reservation</th>

</tr>
<?php //On affiche les lignes du tableau une à une à l'aide d'une boucle
while($donnees = mysql_fetch_array($reponse))
{
?>
<tr>
<td><?php echo $donnees['titre'];?></td>
<td><?php echo $donnees['auteur'];?></td>
<td><?php echo $donnees['editeur'];?></td>
<td><?php echo $donnees['commentaire'];?></td>
<td><?php echo $donnees['categorie'];?></td>
<td align="center"><input type="submit" name="reservation" value="Reserver"/></td>
</tr>
<?php
} //fin de la boucle
mysql_close(); //deconnection
?>

2 réponses

Messages postés
191
Date d'inscription
jeudi 28 juin 2012
Statut
Membre
Dernière intervention
9 juillet 2015
26
Commence par verifier si le membre est connecter pour afficher le bouton

un simple
if (isset($membre)) {// affiche le bouton } else {// naffiche pas le bouton}

rajoute un form (method="post") pour ton boutton et un
<input type="hidden" value="<?php $donnees['titre'];?>" name="livre">
puis pour le traitement
tu fait un code genre
<?php
mysql_query(insert into livres loue_par=$membre livre=$_POST['livre']);

je suis désoler pour le code sql je n'ais pas aprit cette metode mais jespere que tu comprend le principe

cordialement H4ck3r210
Messages postés
19
Date d'inscription
vendredi 29 juin 2012
Statut
Membre
Dernière intervention
21 septembre 2015
1
merci pour ton aide à la base le membre doit être connecté pour voir la liste des livres c'est déjà fait. J'ai ajouté les balises <form></form> pour mon bouton mais vu que je génère dynamiquement les boutons mon problème reste la syntaxe sql c.à.d. comment savoir sur quel bouton a t-on cliqué !!
Messages postés
191
Date d'inscription
jeudi 28 juin 2012
Statut
Membre
Dernière intervention
9 juillet 2015
26
C es pour ca le <input type="hidden" value="<?php $donnees['titre'];?>" name="livre"> si je clique sur le livre thebook on saura que le bouton cliqué
est celui de thebook donc dans la bdd on enregistre quelle livre est louer par qui (mysql_query(insert into livres loue_par=$membre livre=$_POST['livre']);)
Messages postés
19
Date d'inscription
vendredi 29 juin 2012
Statut
Membre
Dernière intervention
21 septembre 2015
1
voila j'ai utilisé le input de type hidden comme tu me l'a conseillé mais la je n'arrive qu'a réserver tous les livres et non un à la fois à cause de la boucle. J'ai du faire du name un tableau pour pouvoir changer la valeur. Le code donne ceci :

<?php //Connection avec la BDD.
mysql_connect("localhost", "root", "");
mysql_select_db("bibliotheque");
$query = "SELECT * FROM livres";
$reponse = mysql_query($query);
?>

<table border="3">
<tr>
<th>Titre</th>
<th>Auteur</th>
<th>Editeur</th>
<th>Commentaire</th>
<th>Catégories</th>
<th>Reservation</th>

</tr>
<form action="liste_livre.php" method="post">
<?php //On affiche les lignes du tableau une à une à l'aide d'une boucle

while($donnees = mysql_fetch_array($reponse))
{
?>
<tr>
<td><?php echo $donnees['titre'];?></td>
<td><?php echo $donnees['auteur'];?></td>
<td><?php echo $donnees['editeur'];?></td>
<td><?php echo $donnees['commentaire'];?></td>
<td><?php echo $donnees['categorie'];?></td>
<td align="center">


<input type="hidden" value="<?php echo $donnees['id'];?>" name="livre[]">
<input type="submit" name="reservation" value="Reserver"/>

</td>
</tr>
<?php
} //fin de la boucle

?>
</form>
</table>
<?php
if(isset($_REQUEST['reservation'])){

for ($i=0;$i<sizeof($_REQUEST['livre']);$i++){
$sql="update livres set loue_par='".$login."' where id=".$_REQUEST['livre'][$i]."";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
}
}
mysql_close(); //deconnection de mysql
?>
Messages postés
191
Date d'inscription
jeudi 28 juin 2012
Statut
Membre
Dernière intervention
9 juillet 2015
26
jai ajouter quelque modification au code pour que sa marche
supposon que la page s apelle reserve.php
<?php //Connection avec la BDD.
mysql_connect("localhost", "root", "");
mysql_select_db("bibliotheque");
$query = "SELECT * FROM livres";
$reponse = mysql_query($query);
?>

<table border="3">
<tr>
<th>Titre</th>
<th>Auteur</th>
<th>Editeur</th>
<th>Commentaire</th>
<th>Catégories</th>
<th>Reservation</th>

</tr>

<?php //On affiche les lignes du tableau une à une à l'aide d'une boucle

while($donnees = mysql_fetch_array($reponse))
{
?>
<tr>
<td><?php echo $donnees['titre'];?></td>
<td><?php echo $donnees['auteur'];?></td>
<td><?php echo $donnees['editeur'];?></td>
<td><?php echo $donnees['commentaire'];?></td>
<td><?php echo $donnees['categorie'];?></td>
<td align="center">

<form method="post" action="./reserve.php"
<input type="hidden" value="<?php echo $donnees['id'];?>" name="livre">
<input type="submit" name="reservation" value="Reserver"/>
</form>
</td>
</tr>
<?php
} //fin de la boucle

?>

</table>
<?php
if(isset($_POST['livre']))
{

/* met une requete sql (insert louer_par=$membre livre=$_POST['livre'] into livres */

}
}
mysql_close(); //deconnection de mysql
?>
Never trust user input !!!!
Messages postés
19
Date d'inscription
vendredi 29 juin 2012
Statut
Membre
Dernière intervention
21 septembre 2015
1
ça y est ça marche merci beaucoup pour ton aide "h4ck3r210" !!