私はbook_list
とbook_category
の2つのテーブル名を持っています。スキーマは以下のようである:book_listにPHP MYSQLの再帰的my book_categoryを結合します
book_list
+---------+--------+-----------+
| id_book | id_cat | book_name |
+---------+--------+-----------+
| 1 | 3 | Book Nam1 |
| 2 | 1 | Book Nam2 |
| 3 | 2 | Book Nam3 |
+---------+--------+-----------+
book_category
+--------+----------+-----------+-------+
| id_cat | cat_name | id_parent | level |
+--------+----------+-----------+-------+
| 1 | name1 | 0 | 1 |
| 2 | name1.1 | 1 | 2 |
| 3 |name1.1.1 | 2 | 3 |
+--------+----------+-----------+-------+
コードを試みた:
SELECT a.id_book, a.id_cat, a.book_name, b.cat_name, b.level
FROM book_list a
INNER JOIN book_category b ON a.id_cat = b.id_cat
Iはどこブレッドクラムを追加するために、結果の配列を操作するために必要それぞれは以下のような自分自身へのリンクを持っています:
table row:
<td>3(id_book)</td>
<td>Book Nam3 (book_name)</td>
<td>
<a href="handle.php?id=<?=id_cat;?>">Name 1</a> »
<a href="handle.php?id=<?=id_cat;?>">Name 1.1</a> »
<a href="handle.php?id=<?=id_cat;?>">Name 1.1.1</a>
</td>
希望私は何かを助けてくれてありがとう。
あなたの質問をチェックしてください.2回a.id_bookを選択していますが、それがない場合は、最初に修正してください。 –
@Jason_vorhess、そうです。 SQLは修正されました。 –