我无法理解这件事。
我有一个数据库表:
category_id
category_name
steps_description
现在,我想以这样的格式显示
Catgeory 1
Then all steps under it
Catgory2
then all steps under it
我可以用一个mysql查询来完成吗?
请告诉我如何循环通过PHP。
编辑:
我已经获得了对象格式的数据,即对象集合
我想要的结果如下:
for all categories {
<table><tr><th>Catgory Name </th></tr>
<tr> <td>Step1 </td> </tr>
<tr> <td>Step2 </td> </tr>
<tr> <td>Step3 </td> </tr>
</table>
}
类似的东西,但只有一个查询。
发布于 2012-09-05 14:50:11
我不确定我是否完全明白你的意思,但我还是会试一试...。我假设,表中有许多不是唯一的类别名称。每个步骤都有很多步骤。现在,您希望为每个类别创建一个表。如果这是正确的,您可以尝试如下所示:
$db = new PDO('mysql:host=localhost;dbname=testdb;charset=UTF-8', 'username', 'password', array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
$stmt = $db->query("SELECT * FROM `table`");
$arr_data = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$arr_data[$row['category_name']][] = $row['steps_description'];
}
foreach ($arr_data as $cat) {
foreach ($cat as $step) {
$str_steps .= '<tr><td>'.$step.'</td></tr>';
}
echo '<table>'.$str_steps.'</table>';
$str_steps = '';
}
发布于 2012-09-05 14:24:23
使用PDO连接和获取行:
$db = new PDO('mysql:host=localhost;dbname=testdb;charset=UTF-8', 'username', 'password', array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
$stmt = $db->query("SELECT * FROM `table`");
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "<table><tr><td>".$row['category_name']." ".$row['category_id']."</td></tr>";
echo "<tr><td>".$row['steps_description']."</td></tr></table>";
echo "<br /><br />"
}
如果你需要了解更多关于PDO的知识,请阅读这个很好的tutorial。
https://stackoverflow.com/questions/12275539
复制相似问题