Home >Backend Development >PHP Tutorial >php 怎么判断是否收藏过

php 怎么判断是否收藏过

WBOY
WBOYOriginal
2016-06-20 12:55:091135browse
自己创建了个信息收藏功能,
在信息详情页面,有隐藏的title、url等信息,只要用户一按 Submit 按钮就会提示已收藏 ,然后用户后台就有记录列表了 方便用户日后查看。

现在的问题是如何判断用户在信息详情页面已经收藏过?让用户不再重复收藏?
而且,用户删除了这个信息的收藏后,还可以再收藏这个信息。


回复讨论(解决方案)

那你是怎么收藏的呢?

收藏是记录在数据库的。
判断时也是在数据库中判断。

如果你收藏时记录是url
可以使用这个url与用户id判断用户是否收藏过。

表结构如下
id,user_id,title,url

判断是否已收藏
select * from table where url=xxx and user_id=xxx;

@fdipzone 

你的意思就是 收藏的时候再查询一下数据库 

如果有这个记录就提示收藏过 

没有这个记录 就提示没收藏过?

具体代码怎么写?求指教

假设
数据表是 XX_SC
主ID字段是 ID
用户ID字段是 UID
网址字段   URL

具体怎么写?(不需要链接数据库了 整段代码上面已经链接 并判断了)

;



@fdipzone 

你的意思就是 收藏的时候再查询一下数据库 

如果有这个记录就提示收藏过 

没有这个记录 就提示没收藏过?

具体代码怎么写?求指教

假设
数据表是 XX_SC
主ID字段是 ID
用户ID字段是 UID
网址字段   URL

具体怎么写?(不需要链接数据库了 整段代码上面已经链接 并判断了)

收藏是记录在数据库的。
判断时也是在数据库中判断。

如果你收藏时记录是url
可以使用这个url与用户id判断用户是否收藏过。

表结构如下
id,user_id,title,url

判断是否已收藏
select * from table where url=xxx and user_id=xxx;





这个 if else 语句我写不来啊   

你都不告诉我是怎么完成收藏的,我怎么知道如何查找是否收藏了
如果你把收藏信息记录在数据库中,那么检查时就自然要访问数据库
如果你记录在其他载体中,那就通过相应的方式查找
总之是:怎么存的就怎么读

@fdipzone 

你的意思就是 收藏的时候再查询一下数据库 

如果有这个记录就提示收藏过 

没有这个记录 就提示没收藏过?

具体代码怎么写?求指教

假设
数据表是 XX_SC
主ID字段是 ID
用户ID字段是 UID
网址字段   URL

具体怎么写?(不需要链接数据库了 整段代码上面已经链接 并判断了)



是的。


收藏是记录在数据库的。
判断时也是在数据库中判断。

如果你收藏时记录是url
可以使用这个url与用户id判断用户是否收藏过。

表结构如下
id,user_id,title,url

判断是否已收藏
select * from table where url=xxx and user_id=xxx;





这个 if else 语句我写不来啊   


判断是否已收藏
$url = 'http://www.baidu.com';$user_id = '1';$sqlstr = "select * from table where url='".$url."' and user_id='".$user_id."'";$query = mysql_query($sqlstr) or die(mysql_error());if(mysql_num_rows($query)>0){	// 已收藏}else{	// 未收藏}


如果这样都不明白,请先学习数据库方面的东西

用户收藏的记录,应该是写入数据库,判断用户是否收藏,直接查询数据即可。



收藏是记录在数据库的。
判断时也是在数据库中判断。

如果你收藏时记录是url
可以使用这个url与用户id判断用户是否收藏过。

表结构如下
id,user_id,title,url

判断是否已收藏
select * from table where url=xxx and user_id=xxx;





这个 if else 语句我写不来啊   


判断是否已收藏
$url = 'http://www.baidu.com';$user_id = '1';$sqlstr = "select * from table where url='".$url."' and user_id='".$user_id."'";$query = mysql_query($sqlstr) or die(mysql_error());if(mysql_num_rows($query)>0){	// 已收藏}else{	// 未收藏}


如果这样都不明白,请先学习数据库方面的东西

谢谢了 这个是明白了  
如果要查询2个以上数据表怎么写?
假设有 新闻、活动、问答 都有收藏功能  同时查询3个数据表 也就是 $url 有三种
是循环写三次,依次判断呢还是?

上面那个算我没问

头简直晕了 不知道每个页面的URL不一样 谢谢你了 等我测试了再来评分



收藏是记录在数据库的。
判断时也是在数据库中判断。

如果你收藏时记录是url
可以使用这个url与用户id判断用户是否收藏过。

表结构如下
id,user_id,title,url

判断是否已收藏
select * from table where url=xxx and user_id=xxx;





这个 if else 语句我写不来啊   


判断是否已收藏
$url = 'http://www.baidu.com';$user_id = '1';$sqlstr = "select * from table where url='".$url."' and user_id='".$user_id."'";$query = mysql_query($sqlstr) or die(mysql_error());if(mysql_num_rows($query)>0){	// 已收藏}else{	// 未收藏}


如果这样都不明白,请先学习数据库方面的东西



OK 我改了一句 
$sqlstr = "select * from ".DB::table('xx_xxxx')." where url='$url' and uid='$uid'";
Statement:
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