私はmysqlからデータを取得して、それらをすべて配列に入れようとしています。仮定:
users table
-----------------------
id| name | code
----------------------
1| gorge | 2132
2| flix | ksd02
3| jasmen | skaod2
$sql = mysql_query("select id, name, code from users");
$userinfo = array()
while($row_user = mysql_fetch_array($sql)){
$userinfo = $row_user[name]
}
-------------------------
foreach($userinfo as $usinfo){
echo $usinfo."<br/>";
}
これが問題です。ユーザー名しか挿入できませんが、userinfo配列にコードとIDも挿入できません。同じ配列にすべてのデータを挿入するのを手伝ってください。
[追記]オブジェクト指向はご遠慮ください。
$sql = mysql_query("select id, name, code from users");
$userinfo = array();
while ($row_user = mysql_fetch_assoc($sql))
$userinfo[] = $row_user;
これにより、$userinfo
が次の構造の配列として提供されます。
[
[id => 1, name => 'gorge', code => '2123'],
[id => 2, name => 'flix', code => 'ksd02'],
[id => 3, name => 'jasmen', code => 'skaod2']
]
データを出力したい場合:
foreach ($userinfo as $user) {
echo "Id: {$user[id]}<br />"
. "Name: {$user[name]}<br />"
. "Code: {$user[code]}<br /><br />";
}
while($row_user = mysql_fetch_assoc($sql)){
$userinfo[] = $row_user;
}
foreach($userinfo as $usrinfo){
echo "Id: ".$usrinfo['id']."<br />";
echo "Name: ".$usrinfo['name']."<br />";
echo "Code: ".$usrinfo['code']."<br />";
}
私はこのコードを見つけて、一日を節約しました:
<?php
$sql=mysql_query("select * from table1");
/*every time it fetches the row, adds it to array...*/
while($r[]=mysql_fetch_array($sql));
echo "<pre>";
// Prints $r as array
print_r ($r);
echo "</pre>";
?>