Bonjour à tous,
Alors voilà, je souhaite récupérer le nombre de like Facebook pour une URL donnée. Le script PHP fonctionne parfaitement. Mais je veux afficher le nombre de like en temps réel, et donc je fais appel à l'Ajax, mais via la librairie jQuery.
J'ai mis au point un bout de code, mais cela ne fonctionne pas, pourriez-vous m'aider à décrypter le problème ? Apparemment le nombre de like n'est pas rafraichit comme il se doit toutes les 5 secondes.
Voici mon code
Index.html
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <!doctype html> <html lang="fr"> <head> <meta charset="utf-8"> <title>Titre de la page</title> <link rel="stylesheet" href="style.css"> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script src="functions.js"></script> </head> <body> <div id="output"></div> </body> </html>
likes.php
Code php : 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 <?php function get_fb_likes($url){ $query = "select total_count,like_count,comment_count,share_count,click_count from link_stat where url='{$url}'"; $call = "https://api.facebook.com/method/fql.query?query=" . rawurlencode($query) . "&format=json"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $call); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($ch); curl_close($ch); return json_decode($output); } $fb_likes = reset( get_fb_likes("http://www.cnn.com") ); $likes = $fb_likes->like_count; echo json_encode($likes); /*echo $fb_likes->total_count; echo $fb_likes->comment_count; echo $fb_likes->share_count; echo $fb_likes->click_count;*/ ?>
functions.js
Un grand merci !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $(document).ready(function(){ function ajax(){ $.ajax({ url: 'likes.php', data: "", dataType: 'json', success: function(data){ var nbLikes = data; $('#output').html(nbLikes); } }); } setInterval(ajax(),5000); })(jQuery);
Partager