2013-01-15 67 views
0

我有一个应用程序可以为工具页面分类链接。在这个页面上我想要有多个类别和这些类别下的每个工具。由于我将拥有13个类别(随着工具的使用,更多),我不想为每个类别运行查询。我宁愿运行一个查询来获取所有数据。PHP MySQL在单个查询中查询多个类别

现在我已经进行了页面设置,以便通过下拉菜单显示每个类别以查看工具。我需要做的是只有这个类别的工具才会出现。我在解决如何从单个查询中查看所有数据的问题。

当前我正在使用while语句以数组形式运行结果。

while($tools = $result->fetch_assoc()){ 
    if($tools['id'] = 1){ 
     echo $tools['name']; 
    } 
} 

这只是我目前计划做的基本模型。我不禁想,但是还有更好的方法可以解决这个问题。从MySQL获取大量数据然后用PHP将其分为多个类别的最佳方法是什么?如果我需要运行多个单独的查询,但是我不希望为每个类别运行查询。

+0

你可以做一个左连接来获得类别和工具在每一行,然后使用代码从http://stackoverflow.com/questions/13442351/display-mysql-results-by-date –

回答

0

如果没有性能问题,你可以使用这样GROUP_CONCAT功能,

SELECT id,GROUP_CONCAT(name) 
FROM tools 
GROUP BY id 

你可以阅读更多紧靠GROUP_CONCAT从MySQL官方网站here