2017-05-05 10 views
1

は、私は配列にMySQLデータベースからいくつかのデータを格納します。MySQLデータベースのデータをIDでインデックスされた配列に格納する方法はありますか?

$p = $db->query('SELECT * FROM comments;'); 
while ($row = $p->fetch(PDO::FETCH_ASSOC)) { 
    $commentlist[$row['id']] = $row['text']; 
} 


    foreach($commentlist as $key => $value) { 
     echo $key; 
     echo $value; 
    } 

は今、私は値idtextへのアクセス権を持っています。しかし、値image(MySQLデータベースの別の行)にアクセスする必要もあります。しかし、キーと値の2つの要素しかない場合は、どのように格納できますか?

+0

上のforeachすることができます:それはあなたのfetchAll() method with PDO::FETCH_UNIQUE modifier、のおかげで、単一の呼び出しで望ましい結果を与えることができます。 –

答えて

2

他のフィールドが必要な場合は、行全体を$ valueに格納する必要があります。

しかし、PDOは誰もが思う以上のものです。

$commentlist = $db->query('SELECT * FROM comments;')->fetchAll(PDO::FETCH_UNIQUE); 

今、あなたはあなたがあなたのテーブルのサンプル構造を示すことができるならば、それは参考になるコメント

foreach($commentlist as $id => $value) { 
    echo $id; 
    echo $value['text']; 
    echo $value['image']; 
} 
+0

これは本当にクールです! – Jarla

関連する問題