2017-05-19 75 views
2

我一直在試圖找出如何檢查是否有任何存在於笨另一列一列的物品....笨檢查如果存在另一列一個列項

我有自行車,汽車,公交車在列表(車輛)中的表格1 ... 我也有巴士,直升機,船舶,汽車在列2(有興趣)在表2 ..

如何檢查是否有任何table2興趣列的項目存在於table1車輛列...

我試過這樣...

$query = $this->db->get('table2'); 
foreach($query->result() as $row) 
{ 
    $a = explode(',', $row->interested); 
    $this->db->where_in('Vehicles', $a); 
    $query = $this->db->get('table1'); 
    foreach($query->result() as $row2) 
    { 
     echo $row2->ID; 
    } 
} 

難道這樣做?請幫助我...提前致謝....

+0

。有興趣的領域有文本數據類型嗎? – Ukasyah

回答

2

很難在沒有看到表格的情況下幫助您,以及如何將其與其他相關聯(如user_id)。

你應該做的是兩個查詢。一個查詢從您感興趣的車輛的表1中獲取數據。然後運行結果集並在php中創建一個簡單的這些車輛數組。然後使用where_in執行第二個查詢來選擇所選車輛陣列中的所有行。

您的方法很糟糕,因爲db查詢的數量取決於第一個查詢的結果集大小。您可能會發現您的代碼嘗試執行數百次數據庫查詢。

如果您顯示錶格的圖表,我可以爲您編寫一些示例代碼。

這裏是where_in文檔:我看你用`explode` https://www.codeigniter.com/user_guide/database/query_builder.html#CI_DB_query_builder::where_in

相關問題