2016-11-22 3 views
-2

私は、skp、date、usrという3つの列を持つMySqlデータベースを持っています。各skpとdateのペアには複数のusrがあります。配列構造を持つ配列を作成するmysqlからデータを取り出す

array[i]['skp'] 
array[i]['date'] 
array[i]['usr'][j] 

何とかして、グループを使用するとうまくいく場合、私は思ったんだけど、次の配列構造を持つからデータを引っ張ってくるの問合せはありますか?

+0

関連する行のデータを組み合わせて、必要な配列を作成する必要があります。 MySQL APIはあなたが直接必要とする配列を作成しません。 – Barmar

+0

これにはさらに多くの回答が必要です。テーブルには列(および行)が含まれていますので、使用する予定のテーブルのスキーマを表示してください( 'describe tablename;'を実行して取得することはできません)。 mysqlプロンプトまたはPHPMyadmin –

+0

あなたは 'GROUP_CONCAT(usr)AS usr'を使用することができ、PHPコードでは' explode( '、'、$ row ['usr']) – Barmar

答えて

1

GROUP_CONCATを使用してください。

SELECT skp, date, GROUP_CONCAT('usr') AS usr 
FROM yourTable 
GROUP BY skp, date 

次に、取得するときに、usr列を配列に分割できます。

$array =(); 
while ($row = mysqli_fetch_assoc($result)) { 
    $row['usr'] = explode(',', $row['usr']); 
    $array[] = $row; 
} 
関連する問題