Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: рейтинг jquery + ajax
 
 автор: alexander95   (29.04.2011 в 19:31)   письмо автору
 
 

Приведите, пожалуйста, пример скрипта:

есть span, внутри которого: - /*текущий рейтинг*/ +
при нажатии на + или - должен, соответственно, прибавляться или убавляться рейтинг записи (их много на странице.) и число между символами должно тут же увеличиться.

  Ответить  
 
 автор: alexander95   (29.04.2011 в 21:22)   письмо автору
 
   для: alexander95   (29.04.2011 в 19:31)
 

Сделал так:
<script type="text/javascript" src="/include/jquery.js">
    function vote(id,act) { 
        $('#vote'+id).css('display','none'); 
        $.post("/include/vote.php",{"id":id,"type":act},function(html) { 
        if (html == 'already') { 
          $('#vote'+id).html('Вы уже голосовали').fadeIn(); 
        } else { 
          $('#vote'+id).html('Голос принят ('+html+')').fadeIn(); 
        } 
    }); 
}
</script>


обработчик:
<?
    
include("/include/cfg.php");
    
error_reporting(0);
    
date_default_timezone_set('Europe/Moscow');
    if(!isset(
$_POST['type'])||!isset($_POST['id'])) exit();
        if(((
strpos("u{$id}{$type}",$_COOKIE['vtd']) === FALSE )&&(strpos("d{$id}{$type}",$_COOKIE['vtd']) === FALSE))||!isset($_COOKIE['vtd']))
        {
            
$cookie_text=$_COOKIE['vtd'];
            
setcookie("vtd",$cookie_text.$id.$type,time()+10000000);
            
$this_rate=mysql_result(mysql_query("SELECT rate FROM posts WHERE num=$id"),0);
            
mysql_query("UPDATE posts SET rate=$this_rate+1 WHERE num=$id");
            echo 
"+1: ".++$this_rate;
        }
        else
        {
            echo 
"already";
        }
?>


+у каждой записи:

<span id="right" id="vote{$row[$i]['num']}">
  <a onclick="vote({$row[$i]['num']},'u')">+</a>
    {$row[$i]['rate']}
  <a onclick="vote({$row[$i]['num']},'d')">-</a>
</span>


все верно?

  Ответить  
 
 автор: alexander95   (29.04.2011 в 23:06)   письмо автору
 
   для: alexander95   (29.04.2011 в 21:22)
 

Что не так?

  Ответить  
 
 автор: AlexSol   (30.04.2011 в 06:51)   письмо автору
 
   для: alexander95   (29.04.2011 в 21:22)
 

или
<script type="text/javascript" src="/include/jquery.js"> </script>

или

<script type="text/javascript" >
//js
</script>


function vote(id,act) {
....
return false;
}

  Ответить  
 
 автор: alexander95   (30.04.2011 в 14:44)   письмо автору
 
   для: AlexSol   (30.04.2011 в 06:51)
 

то есмть вот так?


<script type="text/javascript" src="/include/jquery.js"></script>
    <script type="text/javascript">
    function vote(id,act){ 
        $('#vote'+id).css('display','none'); 
        $.post("vote.php",{"id":id,"type":act},function(text) { 
        if (html == 'already') { 
          $('#vote'+id).html('Вы уже голосовали').fadeIn(); 
        } else { 
          $('#vote'+id).html('Голос принят ('+html+')').fadeIn(); 
        } 
    },"text");
}
    </script>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования