Php mysql java script

deep_sea 142 Messages postés mardi 10 mai 2016Date d'inscription 10 décembre 2017 Dernière intervention - 19 juin 2017 à 14:10 - Dernière réponse : jordane45 19209 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention
- 20 juin 2017 à 15:36
Bonjour,
j'envie augmenter / diminuer un champs a chaque clique d'un button mais j'arrive pas

HTML
<form method="post" action="">
<button type="button" style=" border-style: solid; border-color: #c6526b;" name="like_btn" id="btn_like"><img src="assets\img\dislike.png"></button>
<button type="button" style=" border-style: solid; border-color: #c6526b;" name="dislike_btn" id= "btn_dislike"><img src="assets\img\like.png" ></button>
</form>



javascript

    <script type="text/javascript">

var element1 = document.getElementById("btn_like");
element1.onclick=function()
{
<?php
$variable = $_GET['variable'] ;

$sql = "UPDATE `annonce` SET `like`=`like`+1 WHERE `id_pub`=$variable";
$resultat = $conn->query($sql) or die ('Erreur '.$sql.' '.$conn->error);

?>
};
</script>


<script type="text/javascript">
var element2 = document.getElementById("btn_dislike");
element2.onclick=function()
{
<?php
$variable = $_GET['variable'] ;

$sql1 = "UPDATE `annonce` SET `like`=`like`-1 WHERE `id_pub`=$variable";
$resultat1 = $conn->query($sql1) or die ('Erreur '.$sql1.' '.$conn->error);
?>
};

</script>
Afficher la suite 
142Messages postés mardi 10 mai 2016Date d'inscription 10 décembre 2017 Dernière intervention

7 réponses

Répondre au sujet
jordane45 19209 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention - 19 juin 2017 à 17:35
0
Utile
6
Bonjour,

Le javascript s'exécute côté POSTE UTILISATEUR.
Hors.. pour manipuler ta bdd ... il faut utiliser le PHP (qui lui ne s'exécute QUE côté SERVEUR ).
Tu ne peux donc pas inclure ton PHP dans ton JS comme tu as cru pouvoir le faire.......

Ta seule solution... utiliser de l'AJAX !
(je te conseille de le faire via la librairie JQUERY )


NB: Pour pouvoir le faire en Javascript (Ajax) ... il faut également retirer la balise FORM de ton formulaire
<form method="post" action="">

Celle-ci conditionne l'utilisation d'un SUBMIT et risque de poser problème pour ce que tu veux faire.

NB²: Avant que tu ne poses la question ...... sache que tu trouveras sans mal de TRES nombreux exemples sur le net concernant l'utilisation de l'ajax et comment le coder !

jordane45 19209 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention > deep_sea 142 Messages postés mardi 10 mai 2016Date d'inscription 10 décembre 2017 Dernière intervention - 19 juin 2017 à 18:09
... Alors si tu as la réponse (enfin.. c'est ce que tu crois....) ne pose pas la question...
Ce n'est pas comme si c'était mon métier et que je savais un peu de quoi je parle....
enfin bon.. je dis ça je dis rien !

tu essayes de mélanger plusieurs choses dans ton code...
Du php (avec un formulaire SUBMIT ) ... et du Javascript ....
Hors.. soit tu fais l'un ... soit tu fais l'autre (avec de l'ajax).

et ça :
    <script type="text/javascript">

var element1 = document.getElementById("btn_like");
element1.onclick=function()
{
   <?php
$variable = $_GET['variable'] ;

$sql = "UPDATE `annonce` SET `like`=`like`+1 WHERE `id_pub`=$variable";
$resultat = $conn->query($sql) or die ('Erreur '.$sql.' '.$conn->error);

         ?> 
};
</script>


<script type="text/javascript">
var element2 = document.getElementById("btn_dislike");
element2.onclick=function()
{
   <?php
$variable = $_GET['variable'] ;

$sql1 = "UPDATE `annonce` SET `like`=`like`-1 WHERE `id_pub`=$variable";
$resultat1 = $conn->query($sql1) or die ('Erreur '.$sql1.' '.$conn->error);
         ?> 
};

</script>

....

CA NE MARCHERA JAMAIS !!!!

.
deep_sea 142 Messages postés mardi 10 mai 2016Date d'inscription 10 décembre 2017 Dernière intervention - 19 juin 2017 à 18:16
Jai essayé avec php sans java script elle ne marche pas
jordane45 19209 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention > deep_sea 142 Messages postés mardi 10 mai 2016Date d'inscription 10 décembre 2017 Dernière intervention - 19 juin 2017 à 19:19
Et bien montré nous ce que tu avais fait.. on essaiera de te le corriger !

Bien entendu tu appliquera tous les conseils déjà donnés dans tes précédentes questions..
deep_sea 142 Messages postés mardi 10 mai 2016Date d'inscription 10 décembre 2017 Dernière intervention - 20 juin 2017 à 15:12
<form action="" method="post">
<button type="submit" style=" border-style: solid; border-color: #c6526b;" name="like_btn" id="btn_like"><img src="assets\img\dislike.png"></button>
<button type="submit" style=" border-style: solid; border-color: #c6526b;" name="dislike_btn" id= "btn_dislike"><img src="assets\img\like.png" ></button>
</form>

<?php

$variable = $_GET['variable'] ;
if (isset($_post['like_btn']))
{
$sql = "UPDATE `annonce` SET `like`=`like`+1 WHERE `id_pub`=$variable";
echo $sql;
$resultat = $conn->query($sql) or die ('Erreur '.$sql.' '.$conn->error);
}

else {
echo 'erreur';
}
?>


Toujours Erreur !!!
jordane45 19209 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention > deep_sea 142 Messages postés mardi 10 mai 2016Date d'inscription 10 décembre 2017 Dernière intervention - 20 juin 2017 à 15:36
1 - Encore une fois ..... merci de mettre DANS LES BALISES DE CODE .... le LANGAGE pour avoir la coloration syntaxique

2 - Il faut placer ton code PHP AVANT TOUT AUTRE CODE HTML !

3 - Il faut récupérer PROPREMENT tes variables AVANT de les utiliser
par exemple :
$variable = !empty($_GET['variable']) ? $_GET['variable'] : NULL ;


4 - On écrit : $_POST et non $_post !!!!!
if (isset($_post['like_btn']))

A remplacer par :
if (isset($_POST['like_btn']))
Commenter la réponse de jordane45