如何在php中从mysql以表格格式显示数据

时间:2012-09-05 06:20:51

标签: php mysql html-table

我无法理解它。

我有这个数据库表:

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>
}

类似的东西,只有一个查询。

2 个答案:

答案 0 :(得分:2)

我不确定我是否完全知道你的意思,但无论如何我都会尝试.... 我假设,表格中有许多不是唯一的分类名称。而且你们每个人都有很多步骤。现在你想为每个类别制作一个表格。 如果这是对的,你可以尝试这样的事情:

    $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 = '';
    }

答案 1 :(得分:1)

使用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