Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示两个表中的数据(菜单和子菜单)_Php_Html_Mysql_Sql_Menu - Fatal编程技术网

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
;