【问题标题】:Customize Image Favorite Voting Script自定义图像收藏投票脚本
【发布时间】:2014-03-01 20:24:08
【问题描述】:

我正在使用脚本为最喜欢的图片投票: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) 隐藏此号码并仅处理消息 - 例如#单击此处为这张图片投票/#感谢您的支持
(2) 限制每个用户只能为一张图片投票(现在用户可以为所有图片投票)

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

谢谢!

【问题讨论】:

    标签: javascript php jquery mysql ajax


    【解决方案1】:

    对于第一点,这样做,

    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'");
    

    【讨论】:

    • 完美:) 也许你可以给我一个关于如何在两列中显示图像的其他提示?现在,它们相互显示
    • 为此使用 HTML 表格。或者将&lt;img src='&lt;?php echo $img_url; ?&gt;' /&gt; 替换为&lt;img class="votingimages" src='&lt;?php echo $img_url; ?&gt;' /&gt; 并在您的css 中添加.votingimages { display:inline; float:left; } 应该可以工作。如果没有 google 将图像内联。
    • 谢谢 :) 如果有人正在寻找相同的内容:
      [...] .votingimages { display:inline;向左飘浮;填充右:25px; }
    • 很高兴你能够让它工作。是的,实际上它必须在一个 div 中,我的错...今天很累,应该让我的大脑休息一下。犯愚蠢的错误~_~
    【解决方案2】:

    您可以轻松地将号码更改为自定义消息。只需在 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 数据存储技术。

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签