Page 1 sur 1
Submit ID.
Posté : 18 mai 2014, 19:18
par JeanDubois
Bonjour,
j'ai un système d'articles avec des commentaires, je voudrais mettre un système de j'aime.
J'utilise le code php suivant:
if(isset($_POST['voter'])) {
mysql_query("UPDATE articles SET votes = votes + 1 WHERE id = '".$id."'");
}
Le "id" doit être l'id de l'article, mais comment envoyer cet id depuis le submit ?
Mon code pour afficher l'id est :
<?php echo $a['id']; ?>
Merci de votre aide.
Re: Submit ID.
Posté : 18 mai 2014, 19:35
par moogli
Salut,
Il faut l'ajouter dans un champs de type hidden.
Attention dans ce cas il te faut un formulaire par commentaire (donc form et /form).
@+
Re: Submit ID.
Posté : 18 mai 2014, 19:44
par JeanDubois
Merci de ta réponse, mon bouton j'aime donne actuellement ceci :
<form action="" method="post">
<input hidden="<?php echo $a['id']; ?>" type="submit"></a></form>
Pour définir le
WHERE id = '".$id."'");
en fin de reqpete sql, je dois mettre
$id = Securise($_POST['id']);
ou autre chose en début de code php ?
Re: Submit ID.
Posté : 18 mai 2014, 19:49
par moogli
Un input de type hidden
http://www.w3schools.com/tags/att_input_type.asp
En plus du submit. (Tu as un exemple complet sur le lien).
@+
Re: [RESOLU] Submit ID.
Posté : 18 mai 2014, 19:53
par JeanDubois
Merci.
Re: [RESOLU] Submit ID.
Posté : 18 mai 2014, 19:56
par moogli
De rien
@+
Re: Submit ID.
Posté : 19 mai 2014, 17:20
par JeanDubois
Cela ne fonctionne pas, en gros je dois récupérer l'id de l'article dans mon
if(isset($_POST['voter'])) {
}
Re: Submit ID.
Posté : 19 mai 2014, 17:30
par xTG
Cela ne fonctionne pas, en gros je dois récupérer l'id de l'article dans mon
if(isset($_POST['voter'])) {
}
Montres nous ton code.
Mais à priori tu avais compris la manipulation pour transmettre l'id, donc tu dois juste avoir un petit souci quelque part.
Re: Submit ID.
Posté : 19 mai 2014, 17:33
par JeanDubois
$sql = mysql_query("SELECT * FROM couples ORDER BY votes DESC LIMIT 20");
while($a = mysql_fetch_array($sql)) {
if(isset($_POST['voter'])) {
mysql_query("UPDATE couples SET votes = votes + 1 WHERE id = '".$a['id']."'");
}
Le bouton voter :
<center><input type="submit" name="voter" value="VOTER!" /></center>
Ce code fait monter tout les votes au lieu de celui avec l'id concernée.
Re: Submit ID.
Posté : 19 mai 2014, 18:40
par xTG
En effet, car c'est ce que tu lui demandes...
// récupérer 20 enregistrements en les classant par votes descendant (les 20 plus gros votes donc)
$sql = mysql_query("SELECT * FROM couples ORDER BY votes DESC LIMIT 20");
// itérer sur chaque vote
while($a = mysql_fetch_array($sql)) {
if(isset($_POST['voter'])) {
// pour chaque vote incrémenter le nombre de vote
mysql_query("UPDATE couples SET votes = votes + 1 WHERE id = '".$a['id']."'");
}
Il faut comme on te l'a indiqué plus haut ajouter un champs caché dans ton formulaire et y insérer l'id du vote.
Re: Submit ID.
Posté : 19 mai 2014, 20:44
par JeanDubois
Même en lisant la documentation, je ne vois aucun exemple ou l'on peut insérer l'id dans le submit.
Re: Submit ID.
Posté : 19 mai 2014, 20:47
par JeanDubois
Hum, j'ai trouvé :
http://fr.openclassrooms.com/forum/suje ... 3pRe3YTX-Y.
Merci de votre aide, bonne fin de journée, je passe le sujet en résolu.
Re: [RESOLU] Submit ID.
Posté : 20 mai 2014, 07:34
par xTG
Euh... On t'a jamais dit qu'il fallait récupérer l'id du bouton...
Mais l'id du vote !
Alors à moins que ton submit prenne comme id celui du vote mais ce n'est pas très conseillé car en HTML5 l'id peut être interprété comme le name.
<input type="hidden" name="id_vote" value="<?php echo $id_vote; ?>" />
<input type="submit" ...