簡體   English   中英

使用輸入的逗號分隔字符串在逗號分隔的字符串中搜索ID

[英]Search ids in comma separated string with an input comma separated string

考慮表任務

id | assigned_to | viewers
1    100           100,200,300
2    200           125,200,310
3    300           175,250,300
4    400           400,440,670
5    500           500,111,333

我將得到一個可能包含1000多個逗號分隔值的輸入字符串,例如

1,2,3,4,5,6,7,8,,,,100,,,,500,,,,1000

我想從表中獲取與輸入字符串中的“ assigned_to ”或“ viewers ”匹配的所有行。 我嘗試使用IN()作為“ assigned_to ”,

SELECT * FROM tasks WHERE assign_to IN ($inputString)

但隨后無法獲得與“ 查看者 ”列匹配的任何解決方案。

有什么辦法可以將逗號分隔的字符串與另一個逗號分隔的字符串進行匹配?

提前致謝

您可以嘗試以下代碼:

$str = "SELECT * FROM tasks WHERE assign_to IN ($inputString) ";
$values = explode(",",$inputString);
foreach ($values as $val) {
    $str .= "AND viewers LIKE ".$val; //Replace AND with OR as per your requirement (Match all/ match any)
}

//execute query

這不是很有效,但是可以完成任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM