Bonjour à tous,
J'ai une galerie photo sur laquelle on peut uploader des images qui viennent automatiquement alimenter la galerie en s'affichant directement sur la page.
Sur cette galerie je suis en train de mettre en place un système de likes à la FB : en-dessous de chaque photo uploadée et affichée sur la page on trouve un pouce pour liker la photo en question + un compteur indiquant le nombre total de likes de la photo.
Le pouce est un lien <a> couplé à un bout d'Ajax pour mettre à jour ma BDD.
J'ai un blocage sur la fonction PHP que j'essaye d'écrire pour le compte total de likes par Id de photo: je me rends bien compte qu'il y a un hic sur la variable $Id de ma requête mais je ne sais pas réellement quelle variable indiquer à la place ?
Lorsque je fais un test sur ma page gallery.php (ligne 54) pour afficher le nombre de likes de la photo dont l'Id=1, voici les messages d'erreur renvoyés :
Code : Sélectionner tout - Visualiser dans une fenêtre à part nombre_jaime(1);
Notice: Undefined variable: bdd in C:\Wamp\www\...\function.php on line 4
Fatal error: Call to a member function query() on a non-object in C:\Wamp\www\...\function.php on line 4
Y a-t-il quelqu'un pour m'aider à passer un bon WE ? ;-)))))
Merci et bon WE à tous
(Merci par avance pour votre indulgence, je mets tout juste mon nez dans l'Ajax et pour l'instant je rame. Néanmoins j'ai cherché avant de poster et là je suis en train de perdre 10 points de vie à la minute)
Ci-dessous les codes de mes différentes pages :
gallery.php (page d'upload des images)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <?php require "connect.php"; include "function.php"; ?> <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="style.css" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> </head> <body> <div id="conteneur"> <?php $dir = 'uploadPics/'; $reponse = $bdd->query('SELECT Id,nomPhoto,titre,description,jaime FROM uploadphotos ORDER BY Id DESC'); while ($donnees = $reponse->fetch()){ echo "<div class=\"cadrePhoto\">"; echo $donnees['Id']; echo "<br />"; echo $donnees['titre']; echo "<br />"; echo $donnees['description']; echo "<br />"; echo "<img src='".$dir.$donnees['nomPhoto']."' />"; echo "<br />"; echo $donnees['nomPhoto']; echo "<br />"; echo "<a class='".$donnees['Id']."'><img id=\"thumb\" src=\"ThumbFB.png\" /></a> (<span id='id".$donnees['Id']."'>".$donnees['jaime']."</span>)"; echo "</div>"; } $reponse->closeCursor(); nombre_jaime(1); ?> <script src="func.js"></script> </div> </body> </html>
function.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php function nombre_jaime($Id){ $Id = (int)$Id; $req = $bdd->query('SELECT * FROM uploadphotos WHERE Id="$Id"'); $donnees2 = $req->fetch(); $nombrejaime = $donnees2['jaime']; echo $nombrejaime; } ?>
func.js
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 $(document).ready(function(){ $('a').click(function(){ var Id = $(this).attr('class'); $.post('show_like.php',{Id:Id},function(data){ if(data=="ok"){ add_like(Id); } }); }); function add_like(Id){ $.post('add_like.php',{Id:Id},function(data){ $('#id'+Id+'').text(data); }); } });
Partager