Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

Помогите прикрутить скрипт рейтинга!

#1 Kdes70

Kdes70
  • Пользователь
  • 55 сообщений
  • Репутация: 0
0

Отправлено 17 Март 2012 - 16:04

Помогите пожалуйста!!! питаюсь поставить вот этот скрипт: http://www.ajaxs.ru/...imi_rukami.html

стили перекинул каркас тоже все отображается , но как с базой оно работает не знаю, не хватает опыта
вот файл к которому прикручиваю :
<? include ("blocks/bd.php");
if (isset($_GET['id'])) {$id = $_GET['id']; }
if (!isset($id)) {$id = 1;}
/* Проверяем, является ли переменная числом */
if (!preg_match("|^[d]+$|", $id))
{
exit ("<p>Неверный формат запроса! Проверьте URL!");
}
$result = mysql_query("SELECT * FROM data WHERE id='$id'",$db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору kdes70@mail.ru. <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
$new_view = $myrow["view"] + 1;
$update = mysql_query ("UPDATE data SET view='$new_view' WHERE id='$id'",$db);

}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}

?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><? echo $myrow["title"]?></title>
<meta http-equiv="Description" content="<? echo $myrow["meta_d"]?>">
<meta http-equiv="Keywords" content="<? echo $myrow["meta_k"]?>">
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var starsAll;//Всего звезд
var voteAll ????;//Всего голосов
var idArticle = ????;//id статьи
var starWidth = 17;//ширина одной звезды
var rating = (starsAll/voteAll); //Старый рейтинг
rating = Math.round(rating*100)/100;
if(isNaN(rating)){
  rating = 0;
}
var ratingResCss = rating*starWidth; //старый рейтинг в пикселях
$("#ratDone").css("width", ratingResCss);
$("#ratStat").html("Рейтинг: <strong>"+rating+"</strong> Голосов: <strong>"+voteAll+"</strong>");

<?php
$used_ips = $sql["used_ips"]; // вытаскиваем все поле used_ips оно будет содеражать все ip адреса проголосовавших разделенные |
$ipsArray = explode("|",$used_ips);
$ip = $_SERVER['REMOTE_ADDR'];
if(!in_array($ip,$ipsArray)){ //Чтобы предотвратить повторное голосование после обновления, мы просто скрываем функции отвечаюшие за это
?>
var coords;
var stars; //кол-во звезд при наведении
var ratingNew; //Новое количество звезд
$("#rating").mousemove(function(e){
  var offset = $("#rating").offset();
  coords = e.clientX - offset.left; //текушая координата
  stars = Math.ceil(coords/starWidth);
  starsCss = stars*starWidth;
  $("#ratHover").css("width", starsCss).attr("title", stars+" из 10");
});
$("#rating").mouseout(function(){
  $("#ratHover").css("width", 0);
});
$("#rating").click(function(){
  starsNew = stars + starsAll; //новое количество звезд
  voteAll += 1;
  var ratingNew = starsNew/voteAll;
  ratingNew = Math.round(ratingNew*100)/100;
  var razn = Math.round((rating - ratingNew)*200);//вычислям разницу между новым и старым рейтингом для анимации
  razn = Math.abs(razn);
  
  var total = Math.round(ratingNew*starWidth);
  $.ajax({
   type: "GET",
   url: "action.php",
   data: {"id": idArticle, "rating": stars},
   cache: false,	
   success: function(response){
	if(response == 1){
	 var newRat = response+"px";
	 $("#ratHover").css("display", "none");
	 $("#ratDone").animate({width: total},razn);
	 $("#ratBlocks").show();
	 $("#ratStat").html("Рейтинг: <strong>"+ratingNew+"</strong> Голосов: <strong>"+voteAll+"</strong>");
	}else{
	 $("#ratStat").text(response);
	}	  
   }
  });
  return false;
});
<?php
}
?>
});
</script>
</head>
<body>
<div id="container">

   <?php $m=2; include ("blocks/header.php");?>	
  
	  
<?php include ("blocks/banners.php");?>

	  
	 <?php include ("blocks/left.php");?>

<?php include ("blocks/right.php");?>  
   <div id="wrapper">
  
		<div id="contop"><img src="img/baner.gif" width="350" height="85" /></div>
			<div id="content"><p id="content_p">

<?
printf ("<table align='center' class='post'>
		
   <tr>
		 <td class='post_title'>
   <p class='post_name'><img class='mini' align='left' src='%s'><a%s>%s</a></p>
  <p>%s мл.</p>
	<p>В наличии: %s</p>
  <br><p class='post_view'>Просмотров: %s</p>
   <p class='post_adds'>Цена: %s руб.</p></td>
		 </tr>
		
   <tr>
		 <td class='text'>%s</td>
   <td class='imput'><input  type='button' value='Назад' onclick='history.back()'></td>
		
		
		 </tr>
		
   </table><br><br>",$myrow["img"],$myrow["id"],$myrow["title"],$myrow["volume"],$myrow["nall"],$myrow["view"],$myrow["price"],$myrow["text"],$myrow["description"]);
			while ($myrow = mysql_fetch_array ($result)); ?>



<div id='ratingBar'>
	<div id='rating'>
<div id='ratZero'></div>
<div id='ratDone'></div>
<div id='ratHover'></div>
</div>
<div id='ratBlocks'></div>
<div id='ratStat'></div>
</div>
	  
	   </div>	
  
</div>
<div id=clear></div>
<?php include ("blocks/footer.php");?>
</div>
</body>
</html>


А вот обработчик:
<?php
include ("blocks/bd.php");
header("Content-type: text/html; charset=windows-1251");

if($_GET['id'] && $_GET['rating']){
$rating = $_GET['rating'];
$rating = addslashes($rating);
$rating = htmlspecialchars($rating);
$rating = stripslashes($rating);
$rating = mysql_real_escape_string($rating);

$id = $_GET['id'];
$id = addslashes($id);
$id = htmlspecialchars($id);
$id = stripslashes($id);
$id = mysql_real_escape_string($id);

if($rating > 10 || $rating < 0){
  exit("Ошибка");
}

$result = mysql_query("SELECT total_votes,total_value,used_ips FROM data WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result);
$total_votes = $myrow["total_votes"];
$total_value = $myrow["total_value"];
$used_ips = $myrow["used_ips"];

$ipsArray = explode("|",$used_ips);
$ip = $_SERVER['REMOTE_ADDR'];
if(in_array($ip,$ipsArray)){
  exit("Вы голосовали");
}

$total_votes++;
$total_value = $total_value + $rating;
$used_ips = $used_ips."|".$ip;

$result2 = mysql_query("UPDATE data
	   SET total_votes='$total_votes',
	   total_value='$total_value',
	   used_ips='$used_ips'
	   WHERE id='$id'",$db);

if($result2 == true){
  echo 1;
}

}else{
echo "Ошибка";
}
?>

помогите пожалуйста уже сутки голову ломаю...

 

 

  • 0

#2 Vohrak

Vohrak
  • Пользователь
  • 9 сообщений
  • Репутация: 0

Отправлено 01 Апрель 2012 - 21:49

Какие именно проблемы? Не знаешь как команды ввести в построение таблицы или базу подключить к скрипту?
  • 0

#3 Kdes70

Kdes70
    Topic Starter
  • Пользователь
  • 55 сообщений
  • Репутация: 0

Отправлено 05 Апрель 2012 - 16:39

была проблема с подключением с базой уже разобрался сам
  • 0


Оформление форума – IPBSkins.ru