みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

phpでmysqlからの呼び出しについての質問です。

phpでmysqlからの呼び出しについての質問です。

現在mysqlから下記のように値を呼び出し、age=10の条件にあてはまるものだけを3つまで表示させたいと思っています。


$query = "SELECT id, name, birth, age FROM log WHERE age=10 LIMIT 0 , 3";
$hoge = $db->rowset_assoc($query) or $db->error("Query failed $query".__FILE__.__LINE__);

foreach($hoge as $row) {
$id= $row['id'];
$name= $row['name'];
$birth= $row['birth'];
}

$hoge = array(
array("$id","$name","$birth"),
array("$id","$name","$birth"),
array("$id","$name","$birth"),
);


更新の度にシャッフルさせたいのでarrayを使用しているのですが、
これだと3つとも同じ数値が出てきてしまい困っています。
それぞれの値を取り出し、arrayに入れるにはどのようにすれば良いのでしょうか。
宜しくお願い致します。

大文字小文字の使い方については参考資料そのままに作成しましたので
おかしい部分があるかもしれません。

投稿日時 - 2010-07-13 16:34:54

QNo.6035654

困ってます

質問者が選んだベストアンサー

> foreach($hoge as $row) {
> $id= $row['id'];
> $name= $row['name'];
> $birth= $row['birth'];
> }
>
> $hoge = array(
> array("$id","$name","$birth"),
> array("$id","$name","$birth"),
> array("$id","$name","$birth"),
> );

こういう感じで良いのかと。
配列はインデックスを指定しなければ一番最後に追加されていくので……

$temp = array();

foreach($hoge as $row) {
$id= $row['id'];
$name= $row['name'];
$birth= $row['birth'];
$temp[] = array("$id, "$name"", "$birth");
}
$hoge = $temp;

投稿日時 - 2010-07-13 16:57:42

お礼

ありがとうございます!
お陰様で思惑通りにできました。

特にインデックスを指定しないというのが目から鱗でした。
勉強不足かな。。。

ありがとうございましたm(_ _)m

投稿日時 - 2010-07-13 18:47:52

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)