伙计们,美好的一天。我开始学习mysql,仍在摆弄。我刚看到一个像结构一样的表结构。当我在php中使用var_dump时,如何在sql中实现数组查询?更多力量!
Table: categories
id | name |
1 | Cat A |
2 | Cat B |
Table: sub_categories
id | category_id | name |
1 | 1 | Sub Cat A |
2 | 2 | Sub Cat B |
array
'Cat A' =>
array
1 => string 'Sub Cat A' (length=9)
'Cat B' =>
array
2 => string 'Sub Cat B' (length=9)
答案 0 :(得分:2)
您必须遍历类别表,然后选择此类别中的所有行并填满您的数组。
您也可以像下面的示例中一样使用JOIN(如果您想要所有类别,请忽略where部分):
$result = mysql_query("SELECT categories.name as catname
, categories.id as catid
, sub_categories.id as subcatid
, sub_categories.name as subcatname
FROM categories
LEFT JOIN sub_categories ON sub_categories.category_id = categories.id
WHERE categories.id = 1");
$rows = mysql_fetch_object($result);
$result = array();
foreach($rows as $row) {
$result[$row->catname][] = array(
'id' => $row->subcatid,
'category_id' => $row->catid,
'name' => $row->subcatname
);
}
var_dump($result);
UNTESTED但应该有效。