我有一个应用程序需要能够从数据库中获取过程并以正确的顺序显示这些步骤。有时,步骤有子步骤,而其他时候,这些子步骤可以有自己的子步骤。我不能为每个过程编写一个单独的 html 页面,因为我们正在讨论其中的很多。我打算即时生成视图。这是我将要显示的示例:
1. Step 1
a. Step 1a
i. Step 1ai
ii. Step 1aii
b. Step 1b
2. Step 2
就目前而言,我有一个 PROCEDURE 表、一个 STEP 表和一个 PROCEDURE_STEP 表来交叉引用它们。STEP 表有一个 substep_of 字段,它是父步骤 id 的外键。我仍处于可以根据需要修改数据库的阶段。
那么我的问题是,在我这样做之后:
mysql_query(SELECT * FROM PROCEDURE_STEP WHERE procedure_id = $id);
如何对它们进行排序,以便每个子步骤按其父步骤下的顺序整齐地放置在返回数组中?我将把返回数组作为 json 编码数组发送到视图,如果这会有所不同的话。