php 怎麼判斷是否收藏過

來源:互聯網
上載者:User
自己建立了個資訊收藏功能,
在資訊詳情頁面,有隱藏的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'";
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.