2017-06-01 4 views
0

でこれらの値を検索することですテーブル私はどのように配列ここ

+----+----------------------+ 
| id |  title   | 
+----+----------------------+ 
| 1 | math,science,english | 
| 2 | social,hindi   | 
+----+----------------------+ 

コンマseprated値を持つ列を持つ列を検索する方法を私のSQLアクティブなレコード内の指定された配列の値が一致するのであれば

$array=array('math','computer','english'); 

結果がでなければなりません

+----+----------------------+ 
| id |  title   | 
+----+----------------------+ 
| 1 | math,science,english | 
+----+----------------------+ 
+0

私はあなたのテーブルでこの権利を理解していますが、コンマ区切りの値を含む列があります。すなわち「数学、科学、英語」を選択し、「数学」を検索したいとしますか? – hungrykoala

+1

シンプルにカンマ区切りの値を持つ列がありません – Strawberry

+0

カンマ区切りの値を持つ表を持つのはなぜですか? – WhatsThePoint

答えて

0

使用mysqlのfind_in_set方法、clickを参照してください。

+0

ですが、1つの値、つまり –

+0

$ this-> db->には、( "FIND_IN_SET( 'math、computer、english'、title) –

0

FIND_IN_SET()を使用して解決できます。

if($array) 
{ 
    $this->db->group_start(); 
     $this->db->where("FIND_IN_SET('$array[0]', title) != ",0); 
     for($x=1; $x < count($array); $x++) 
     { 
     $this->db->or_where("FIND_IN_SET('$array[$x]', title) != ",0); 
     } 
    $this->db->group_end(); 
} 
+0

ありがとうございます –

+0

ようこそ。役に立つ場合は[回答](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)とupvoteを受け入れてください。 – Shihas

+0

この回答があなたの問題を解決しましたか? – Shihas

関連する問題