[英]building a multi dimentional array from mysqli database query using php
我正在尝试使用mysqli和php从我的数据库表中构建一个多维数学的学生和他们的数据。
我希望我的数组看起来像这样
Array #$adult array
(
[626] => Array #student no 626 data
(
[name] => emily,
[age] => 43,
[height] => 156,
)
[627] => #student no 627 data
(
[name] => luke,
[age] => 31,
[height] => 176,
)
)
数字是成员ID,后跟数据。
所以我尝试了以下内容
$sql = "SELECT * FROM pzgym_waitinglist WHERE seen = 0 GROUP BY gym_discipline, school_yr, id";
$result = $db->query($sql);
if ($result->num_rows > 0)
{
#set up array
$adult = array();
while($row = $result->fetch_array())
{
$id = $row["id"];
$name = $row["name"];
$age= $row["age"];
$height = $row['height'];
if($row['gym_discipline'] == "Adult Gymnastics")
{
$adult[$id] = "['name'] => $name, ['age'] => $age, ['height'] => $height";
}
}
}
但这并没有产生正确的结果,所以我猜我的阵列建设很糟糕:(这是我得到的。
Array
(
[626] => ['name'] => Emily, ['age'] => 43, ['height'] => 156
[627] => ['name'] => Luke, ['age'] => 31, ['height'] => 176
)
有人可以帮助我,从我的数据库中的数据构建一个成功的多维数组
非常感谢
创建数组时需要第二级,而不是简单地向数组添加键和数据。
因此,首先使用学生ID创建索引(键) ,然后该新索引的值将是包含该学生的所有数据的子数组。
然后下一个循环它将为下一个学生做同样的事情。
就像是:
while($row = $result->fetch_array())
{
$id = $row["id"];
$name = $row["name"];
$age= $row["age"];
$height = $row['height'];
if($row['gym_discipline'] == "Adult Gymnastics")
{
$adult[$id] = array(
"name" => $name,
"age" => $age,
"height" => $height,
);
}
}
使用array
结构:
$adult[$id] = array('name' => $name, 'age' => $age, 'height' => $height);
你需要按照以下方式做 -
$adult[$id]['name'] = $name;
$adult[$id]['age'] = $age;
$adult[$id]['name'] = $height;
注意: - 如果不需要条件,因为您的数组是通过id创建的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.