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を使用して配列を調べ、DBに位置を書き込みますがli、ルートulからサブに移動する場合ulは、同じ方法でネストしませんが、子であることを無視して配列を調べます。

注文をデータベースに送信するための最良/正しい方法は何ですか?

4

2 に答える 2

0

リストツリーのHTML全体(innerHtml)をこれほど単純なものであれば送信するか、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 に答える