0

我需要一个包含一组页面的数据库:他们的 ID、父 ID(如果没有父母,则为 0)和订单。

+------+------------+-----------+-------------+
|  ID  |  parentID  |   order   |    Name     |
+------+------------+-----------+-------------+
|  1   |      0     |     1     |    page 1   |
|  2   |      1     |     1     |    page 2   |
|  3   |      1     |     2     |    page 3   |
|  4   |      0     |     2     |    page 4   |
|  5   |      0     |     3     |    page 5   |
+------+------------+-----------+-------------+

然后我有一个可ul li与 jQuery 一起使用的可排序嵌套,例如

<ul id="sortablenested">
  <li>page 1
  <ul>
     <li>page 2</li>
     <li>page 3</li>
  </ul>
  </li>
  <li>page 4
  <ul></ul>
  </li>
  <li>page 5
  <ul></ul>
  </li>
</ul>

现在,如果它没有嵌套,我将只在每个li标签中使用隐藏输入传递一个数组,然后使用 foreach 遍历数组并将位置写入数据库中,但是当我将 ali从根移动到ul子时ul同样的方法它不会嵌套它,而只是通过数组忽略它是一个孩子。

将订单提交到数据库的最佳/正确方法是什么?

4

2 回答 2

0

如果它很简单,我会发送列表树 ( innerHtml) 的整个 HTML,或者编写 JavaScript 函数将其转换为 JSON,然后发送。并在服务器上解析它。

即使有循环引用,请参阅如何将 DOM 节点序列化为 JSON?

于 2013-01-14T20:02:56.990 回答
0

在你的 foreach 中试试这个

array('menu' => array(
array( father => 'page 1', link => 'url.php',
child=> array(
array(name=>'page 2', url=>'url.php'),
array(name=>'page 3', url=>'url.php'),)),
array( father => 'page 4', link => 'url.php'),
array( father => 'page 5', link => 'url.php'))
);

于 2013-01-14T20:31:44.573 回答