Script ajax pour faire noter ses articles

WRInaute discret
hello a tous,
j'ai actuellement un petit soucis avec la mise en place d'un script ajax. L'installation n'a pas l'air compliqué :

1- créer une table sql
Code:
CREATE TABLE `ratings` (
  `id` varchar(11) NOT NULL,
  `total_votes` int(11) NOT NULL default 0,
  `total_value` int(11) NOT NULL default 0,
  `used_ips` longtext,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3;

2- Configurer l'accès a la base de donnée
Code:
$dbhost        = 'localhost';
	$dbuser        = '###';
	$dbpass        = '###';
	$dbname        = '###';
	$tableName     = 'ratings';

3- installer les elements sur sa page
Code:
<?php require('_drawrating.php'); ?>

<script type="text/javascript" language="javascript" src="js/behavior.js"></script>
<script type="text/javascript" language="javascript" src="js/rating.js"></script>
<link rel="stylesheet" type="text/css" href="css/rating.css" />

<?php echo rating_bar('8'); ?> - 10 stars (default), ID of 8

Mais le problème c'est que ca s'applique a tout mes articles. En effet, j'utilise spip et je met ca sur le squelette de la page. Comment je pourrais faire pour que le script s'applique a chaque article?[/code]
 
WRInaute discret
perso j'avais rajouté un parametre dans la fonction rating_bar() avec l'id du sujet ou article dans ton cas ! :wink:
 
WRInaute discret
idée de la manip, tout simplement ajouter un parametre dans la fonction.
je peux pas t'en dire plus.

tu as ta fonction dans _dawrating.php

function rating_bar($id,$idarticle,$units='') {

apes tu dois changer toutes les requetes SQL, pour aller chercher ton idarticle, donc dans tes Where tu rajoutes AND idarticle = $idarticle

partout ou il y a une requete (INSERT, SELECT, UPDATE)
A faire aussi dans le rpc.php !

:wink:
 
WRInaute passionné
Il faut récupérer le nom de la page avec location.search (JavaScript et non PHP).

Mais pour le principe d'utiliser SQL pour ce type de fonctions, c'est aller droit vers le dépassement de quota de ressources!
 
WRInaute passionné
Peut-être suis-je pessimiste. Cela dépend du nombre de visiteurs et de l'hébergement. Mais en règles générales des requêtes SQL continuelles sur un hébergement, quand on n'est pas spécialiste, cela engendre un débordement de ressources (voir les fils de discussion à ce sujet sur ce forum).
Je n'ai pas de script tout fait, juste un tutoriel ou un début de script (manque la gestion de mot de passe), avec stockage du décompte dans un simple fichier de texte:

http://www.xul.fr/javascript/marques.html
 
Nouveau WRInaute
soundtraker a dit:
Pour ceux qui sont interessé par le script, c'est ici que ca se passe : http://www.masugadesign.com/the-lab/scripts/unobtrusive-ajax-star-rating-bar/

Bonjour,
Je viens de découvrir ce script ajax et il est parfat !
J'utilise également SPIP (SPIP 1.9.2b) et lorsque je j'appel la fonction rating_bar() j'ai le message d'erreur suivant :

Fatal error: Call to undefined function: rating_bar() in /home.1/o/m/o/omoblog/www/ecrire/public.php(25) : eval()'d code on line 57

alors que j'appel bien tout comme il faut :roll: spip ne serait pascompatible ou autre ? je ne vois pas

help me please :p

PS : par contre j'ai cru comprendre que l'ID de la note est la première variable, donc pk ne pas essayer ceci :
rating_bar('#ID_ARTICLE',5)
 
WRInaute passionné
J'ai aussi l'adresse d'un CMS (j'en ai toute une liste :) )qui fait tout et qui remplace SPIP + Rating. Si cela peut répondre au problème.
 
Discussions similaires
Haut