0

implode 関数を使用して、select ステートメントから複数の値を単一の列に挿入しました。今後のクエリのために、これらの値を個別に取得したいと思います。implode 関数 implode(',', $_POST['aoi']); を使用して、関心のあるさまざまな領域を単一の列に格納している学生テーブルがあります。テーブルの構造は次のようになります。

id   |  Name   |           AOI
-------------------------------------------
101  | Paul    | Hardware,Networking
102  | Fred    | Finance,Insurance,Banking

ここで、この学生のデータを興味に基づいて個別に取得したいと考えています。爆発関数を使用してデータを抽出しようとしました。しかし、配列形式でデータを返しています。

そして、関心のある領域を個別に抽出する必要があります。複数の値を含む列から単一の値を抽出する方法を教えてください。さらにクエリを実行できるようにします。

同様に $query = "select student.id,student.Name from student where AOI = 'Insurance'";

ありがとう。

4

1 に答える 1

5

データベース構造が根本的に間違っており、スケーラビリティの問題がさらに発生する可能性が高くなります。データベースの正規化の概念を検討する必要があります。この特定のシナリオでは、多対多の関係を使用する必要があります。

学生:

id   | name  
---------------
101  | Paul    
102  | Fred    

学生の興味

id   |  student_id  | interest_id
---------------------------------
1    |  101         | 1
2    |  101         | 2
3    |  102         | 1

興味

id   | interest
----------------
1    | Insurance
2    | Networkings
于 2012-09-24T11:40:35.913 に答える