我有一个表,看起来像这样:
+----------------------------------+
| Category | Sub-Category |
+---------------+------------------+
| Cell Phones | Smart Phones |
| Cell Phones | Tablet Phones |
| Cell Phones | Other Phones |
| Computers | Desktops |
| Computers | Laptops |
| Computers | Chromebooks |
+---------------+------------------+ etc..我想使用PHP在我的网站上显示这些数据,如下所示:

如何使用PHP显示上面的信息(一个类别,下面的所有子类别)?另外,如何将类别/子类别列表平均划分为3列?
我找到了一些教程,但似乎没有一个使用PHP的,这是我遇到麻烦的地方。
感谢你们抽出时间。
发布于 2014-01-23 15:41:32
$data = query_data();
$cat = array();
foreach($data as $item)
{
$cat[$item['category']][] = $item['sub_category'];
}现在,$cat就是您需要的。
发布于 2014-01-23 15:45:13
你可以给它们指定类别id,例如,假设手机的id为1,那么其中的所有项目的subcategory_id也将为1。类似地,如果打印机的id为2,则其下的所有subcategory_id的id也将为2。
现在您可以运行简单的查询来检索特定于字段的类别。像这样:
SELECT * from table_name WHERE subcategory_id = 1;这将给出cellphones...similarly中的所有类别,您可以对所有字段执行此操作...
发布于 2014-01-23 16:20:14
这应该行得通-
$categories = Array();
//Assuming database handle is $db
$r1 = $db->query("select distinct(Category) from table_name") or die("err in q1");
while($cat_arr = $r1->fetch_assoc()){
$cat = $cat_arr['Category'];
$sub_cats = Array();
$db->query("select Sub-Category from table_name where Category = $cat") or die("err in q2");
while($sub_arr = $r2->fetch_assoc()){
array_push($sub_cats,$sub_arr['Sub-Category']);
}
$categories[$cat] = $sub_cats;
}$categories数组现在具有表的详细信息,并且可以按原样使用。
https://stackoverflow.com/questions/21302076
复制相似问题