AJAX + PHP система голосования - PullRequest
1 голос
/ 31 августа 2010

Я работаю над системой голосования в AJAX и PHP, и у меня возникли некоторые проблемы. Мы отображаем кучу постов из нашей базы данных, и у каждого поста есть изображение рядом с ним - предполагается, что нажатие на изображение 1) переключает цвет изображения, а затем 2) использует AJAX для вызова PHP-скрипта, который затем решает, добавлять ли или вычесть голос. У меня работает переключатель изображения, но я не уверен, как сделать следующую часть. Какой лучший способ сделать это?

Это цикл while, который выводит сообщения:

while($row = mysql_fetch_array($result))

          {

    ?>

        <li class = "post">
            <a href = "#" onclick = "return toggle(this,'heart<?php echo $row['post_id'];?>')"><img name = "heart<?php echo $row['post_id'];?>" src = "/images/heart.png" class = "thumbnail" width = "15"  /></a>
            <p class = "title"><img class = "favicon" width = "16" height = "16" src = "<? echo $row['favicon']; ?>" /><a href = "<? echo $row['post_url']; ?>" target = "_blank"><? echo $row['post_title']; ?></a></p>
            <p class = "postinfo">posted <? echo doRelativeDate( $row['date'] ); ?> by <a href = "<? echo $row['blog_url'];?>"><? echo $row['blog_name']; ?></a>
        </li>

    <?
        }
    ?>

1 Ответ

0 голосов
/ 31 августа 2010

"src =" /images/heart.png "class =" thumbnail "width =" 15 "id="voteImage />

добавить один идентификатор к вашему изображению. перехватить событие клика по этому идентификатору с помощью любой структуры JavaScript.

Я привожу пример в jQuery.

 jQuery("#voteImage").live("click",function(){
        var imageName = jQuery(this).attr('name');
        var postId = imageName.substr(5);  //Here you will have post Id because remove heart from heart20

        //now you can hit ajax call to your vote-up or vote-Down php with postId
        jQuery.ajax({
             type: 'POST',
            url: baseURI+'voteup.php',
            data:"postId="+postId,
            cache: false,
            success: function(result)
                    {
                    //perform further action like give alert to user that action performed
                    }
        });

 }
...