自定义图像收藏的投票脚本

时间:2014-03-01 20:24:09

标签: javascript php jquery mysql ajax

我正在使用脚本为最喜欢的图片投票:http://www.9lessons.info/2009/09/favourite-rating-with-jquery-and-ajax.html

我使用的是两个文件:

<script>
$(document).ready(function()
{
$("span.on_img").mouseover(function ()
{
$(this).addClass("over_img");
});
$("span.on_img").mouseout(function ()
{
$(this).removeClass("over_img");
});
});
$(function() {
$(".love").click(function() 
{
var id = $(this).attr("id");
var dataString = 'id='+ id ;
var parent = $(this);
$(this).fadeOut(300);
$.ajax({
type: "POST",
url: "ajax_love.php",
data: dataString,
cache: false,
success: function(html)
{
parent.html(html);
parent.fadeIn(300);
} 
});   
return false;
});
});
</script>

<?php
include("config.php");
$ip=$_SERVER['REMOTE_ADDR'];//client ip address
if($_POST['id'])
{
$id=$_POST['id'];
//IP-address verification 
$ip_sql=mysql_query("select ip_add from image_IP where img_id_fk='$id' and  ip_add='$ip'");
$count=mysql_num_rows($ip_sql);
if($count==0)
{
// Updateing Love Value
$sql = "update images set love=love+1 where img_id='$id'";
mysql_query( $sql);
// Inserting Client IP-address
$sql_in = "insert into image_IP (ip_add,img_id_fk) values ('$ip','$id')";
mysql_query( $sql_in);

$result=mysql_query("select love from images where img_id='$id'");
$row=mysql_fetch_array($result);
$love=$row['love'];

?>

<span class="on_img" align="left"><?php echo $love; ?></span>
<?php
}
else
{
// Already Loved
echo 'NO !';
}
}
?>

此时,显示每张图像的当前投票数。我想要 (1)隐藏这个号码,只需处理消息 - 比如#Click Here to Vote for this image / #Thank you for voring
(2)限制每个用户只能投票给一个图像(到现在为止,用户可以投票给所有图像)

不幸的是,我对编码并不熟悉,也没有线索,从哪里开始。任何建议都非常感谢。

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以轻松地将号码更改为自定义消息。只需在php文件中更改以下行

<span class="on_img" align="left"><?php echo $love; ?></span>

<强>与

<span class="on_img" align="left"> #Click Here to Vote for this image / #Thank you for voring</span>

但第二次改变更难。首先,您需要建立订阅或用户帐户系统。您也可以使用HTML数据存储技术。

答案 1 :(得分:0)

对于第一点,请执行此操作,

Replace: 
$love=$row['love'];
With:
$love= 'Thanks for voting';

并且在给您的链接中,此行下方还有一个代码。 “HTML和PHP代码。从图像表中显示记录。” 所以,在那,

Replace:
<span class="on_img" align="left"> <?php echo $love; ?> </span>
With:
<span class="on_img" align="left">Click Here to Vote</span>

对于第二点,请执行此操作

Replace:
$ip_sql=mysql_query("select ip_add from image_IP where img_id_fk='$id' and  ip_add='$ip'");
With:
$ip_sql=mysql_query("select ip_add from image_IP where ip_add='$ip'");