Php 显示两个表中的数据(菜单和子菜单)
这是我正在做的,我有两个表,一个是菜单,另一个是子菜单Php 显示两个表中的数据(菜单和子菜单),php,html,mysql,sql,menu,Php,Html,Mysql,Sql,Menu,这是我正在做的,我有两个表,一个是菜单,另一个是子菜单 Menu table : - id - name - num submenu table : - ids - id - sname - url 链接是“id” 我这样做的菜单,但我想显示菜单和她的子菜单 <? $getcat = mysql_query("select * from menu ORDER BY num "); $recordno = mysql_num_rows($getcat);
Menu table :
- id
- name
- num
submenu table :
- ids
- id
- sname
- url
链接是“id”
我这样做的菜单,但我想显示菜单和她的子菜单
<?
$getcat = mysql_query("select * from menu ORDER BY num ");
$recordno = mysql_num_rows($getcat);
if ($recordno > 0) {
while ($rowc = mysql_fetch_array($getcat)) {
echo "
<br>
$rowc[name] ";
}
}
?>
结果是这样的
请给出php代码以显示结果。首先,您可能需要更改:
Menu table :
- id
- name
- num
submenu table :
- id
- menu_id
- sname
- url
这样做有助于避免任何歧义
然后使用连接
<?
$db = mysql_connect('YOUR_DB_ADDRESS','YOUR_DB_USER','YOUR_DB_PASS') or die("Database error");
mysql_select_db('YOUR_DB', $db);
$getcat = mysql_query("SELECT * FROM menu m JOIN submenu sm ON m.id = sm.menu_id ORDER BY num ");
if (!$getcat) {
die("Error");
}
while ($row = mysql_fetch_assoc($getcat)) {
echo $row['name'];
echo $row['sname'];
}
我想你需要先加入你的子菜单项
SELECT * FROM menu INNER JOIN submenu ON submenu.id=menu.id ORDER BY num
子菜单表设计不当,您的代码无法显示结果,这不起作用[rowc=mysql\U fetch\U array($getcat)){…/////很抱歉,这不起作用//警告:mysql\U fetch\U array():提供的参数不是有效的mysql结果资源//
select *
from
menu m inner join submenu sm
on m.id = sm.id
order by m.num
;