![](/img/trans.png)
[英]PHP-MYSQL: Not able to fetch multiple record from database into word file
[英]php-mysql fetch next and previous id from a database
我有下表:
**id** **username** **activity**
1 user1 activity-like
2 user1 activity-share
3 user3 activity-like
4 user4 activity-like
5 user1 activity-share
6 user6 activity-like
8 user1 activity-share
9 user3 activity-like
10 user5 activity-share
(注意:沒有id = 7)
我正在嘗試使用php-mysql來獲取user1進行的活動並獲取ID。 在這種情況下,活動具有ID(1、2、5和8)。
$currentId = 5;
我想獲取下一個和上一個ID(如果存在)(在這種情況下為2和8)。
$fetch = mysql_query("SELECT * FROM `main` WHERE `username` = 'user1' AND id > '$id'");
if(mysql_num_rows($fetch) == 1){
while (){
}
$result = $fetch['id'];
}
我不確定如何為此編寫查詢。
您可以執行以下操作:
對於下一個ID,
SELECT id from tablename where username = 'user1' AND id > $currentId ORDER BY ID ASC LIMIT 1;
對於以前的ID,
SELECT id from tablename where username = 'user1' AND id < $currentId ORDER BY ID DESC LIMIT 1;
我認為您可以使用以下union
查詢:
(SELECT ID, USERNAME, ACTIVITY FROM MAIN WHERE username = 'user1' AND ID < '$id'
ORDER BY ID DESC LIMIT 1)
UNION
(SELECT ID, USERNAME, ACTIVITY FROM MAIN WHERE username = 'user1' AND ID > '$id'
ORDER BY ID ASC LIMIT 1);
如果存在,第一個查詢片段應返回ID = 2
,第二個查詢片段應返回ID = 8
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.