Home > Backend Development > PHP Tutorial > 作点赞的时候为什么加个每天只能点赞一次的代码,就不行啊

作点赞的时候为什么加个每天只能点赞一次的代码,就不行啊

WBOY
Release: 2016-06-13 12:26:51
Original
1765 people have browsed it

做点赞的时候为什么加个每天只能点赞一次的代码,就不行啊。

<br />@$love=$_POST['id'];<br /><br />if(isset($love)){<br />	$query="SELECT * FROM ecs_article_love where article_id='$love' AND ip='$realip'";<br />	$result=mysql_query($query);<br />	$row=mysql_fetch_row($result);<br />	//dump($row);<br />	$ip1=$row[2];<br />	$ip2=$realip;<br />	<br />	$todaytime=strtotime(date('Y-m-d'));<br />	$iptime=$row[3];<br />	//$endtime=strtotime(date('Y-m-d',strtotime('+1 day')));<br />	//echo $todaytime;<br />	<br />	if(strcmp($ip1,$ip2)==0){<br />		echo 2;<br />	}<br />	if(!$row && $iptime<$todaytime){<br />		$query="INSERT INTO ecs_article_love (ip,article_id,iptime) VALUES ('".$ip2."','".$love."','".$todaytime."')";<br />		mysql_query($query);<br />		//echo "<script>alert('点赞成功')</script>";<br />		$sql = $GLOBALS['db']->query("update ".$GLOBALS['ecs']->table('article')." set love=love+1 where article_id=$love");<br />		echo 1;<br />	}	<br />	<br />	<br />	die();<br />}<br />
Copy after login
这是数据库的设计
------解决思路----------------------
你的查询语句都没有取,当天的数据,取的是IP对应的文章的所有数据
------解决思路----------------------
第一条sql就有很大的问题吧,ip='$realip'   如果没有$realip,是不是就会报错啊。可以把后面的where条件删除了。

假设有 $realip   并从第一条sql中找到了ip 或者 为空 , 进行下面的比较。后面你写的逻辑应该是错的。

因为你在之前用的是文章id做的判断,所以文章可以确定了 , 就差ip是否相同或者今天是否赞过。我觉得逻辑可以这样:

if(   今天时间   =   这个文章的数据库  ){
     if( 当前赞ip = 数据库中的ip){
              不能赞;
      }else{
            可以赞;
   }

}else{
    可以赞;
}

我也是新手,有不对请帮忙指点一下。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template