Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.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 SQL联接未正确显示_Php_Mysql_Sql_Database_Join - Fatal编程技术网

Php SQL联接未正确显示

Php SQL联接未正确显示,php,mysql,sql,database,join,Php,Mysql,Sql,Database,Join,我试图找到一个解决方案,我试图使用相同的id从不同的表中获取数据。这是我的代码 "SELECT * FROM menucat LEFT JOIN vmenutab ON menucat.cat_id = vmenutab.menu_id"; 我需要创建节,然后用一些内容填充它们,表menucat是包含节的父表,vmenutab是包含内容的子表。 但我有个问题,它没有正确显示。应该是这样的: 第一节 链接1 链接2 但它的表现是这样的: 第一节 链接1 第一节 链接2 我一直在使用搜索、分组方

我试图找到一个解决方案,我试图使用相同的id从不同的表中获取数据。这是我的代码

 "SELECT * FROM menucat LEFT JOIN vmenutab ON menucat.cat_id = vmenutab.menu_id";
我需要创建节,然后用一些内容填充它们,表menucat是包含节的父表,vmenutab是包含内容的子表。 但我有个问题,它没有正确显示。应该是这样的:

第一节

链接1 链接2 但它的表现是这样的:

第一节

链接1 第一节

链接2 我一直在使用搜索、分组方式和DISTINCT,但都不起作用

表:

美努卡特: 猫id菜单猫est菜单猫ru菜单猫en

vmenutab: id唯一链接id菜单\u id到相关节菜单\u名称\u est菜单\u名称\u ru菜单\u名称\u en

menu_cat_xxx和menu_name_xxx是不同的语言数据

PHP代码

<?php
$target = "SELECT * FROM menucat LEFT JOIN vmenutab ON menucat.cat_id = vmenutab.menu_id";



$mq     = mysql_query($target);
while ($row = mysql_fetch_array($mq)) {
    $menu_cat_est   = $row['menu_cat_est'];
    $menu_cat_ru    = $row['menu_cat_ru'];
    $menu_cat_en    = $row['menu_cat_en'];

    $menu_name_est   = $row['menu_name_est'];
    $menu_name_ru    = $row['menu_name_ru'];
    $menu_name_en    = $row['menu_name_en'];


    $cat_id         = $row['cat_id'];
    $id         = $row['id'];



    echo '<tr>
    <td>' . $menu_cat_est . ''.$menu_name_est.'</td>
    <td>' . $menu_cat_ru . ''.$menu_name_ru.'</td>
    <td>' . $menu_cat_en . ''.$menu_name_en.'</td>
    <td scope="col"><center><a href="content.php?veditcat=' . $cat_id . '"><img src="style/stylesheet/images/edit.png"></a></center></td>
    <td scope="col"><center><a href="content.php?vdelcat=' . $cat_id . '"><img src="style/stylesheet/images/delete.png"></a></center></td>
    <td scope="col"><center><a href="content.php?vadd=' . $cat_id . '">Добавить</a></center></td>
  </tr>';




}

?>
对不起我的英语。致以最良好的祝愿

编辑:添加了整个PHP代码。
编辑2:添加表行。

示例,因为我不知道您的数据库数据。还可以按cat id对数据库进行排序

"$菜单\u目录\u xxx$菜单名称有点混乱

$target = "SELECT * FROM menucat LEFT JOIN vmenutab ON menucat.cat_id = vmenutab.menu_id" order by menucat.cat_id;

$mq     = mysql_query($target);
while ($row = mysql_fetch_array($mq)) {
    $menu_cat_est   = $row['menu_cat_est'];
    $menu_cat_ru    = $row['menu_cat_ru'];
    $menu_cat_en    = $row['menu_cat_en'];

    $menu_name_est   = $row['menu_name_est'];
    $menu_name_ru    = $row['menu_name_ru'];
    $menu_name_en    = $row['menu_name_en'];

    $cat_id         = $row['cat_id'];
    $id         = $row['id'];



if(!$nocat[$cat_id]){ $nocat[$cat_id] = $cat_id; $section='<tr><td colspan="6"> section' . $cat_id . '</td></tr>
';}else{$section='';} // customise as i need sleep

echo $section.
'<tr>
<td>' . $menu_cat_est . ''.$menu_name_est.'</td>
<td>' . $menu_cat_ru . ''.$menu_name_ru.'</td>
<td>' . $menu_cat_en . ''.$menu_name_en.'</td>
<td scope="col"><center><a href="content.php?veditcat=' . $cat_id . '"><img src="style/stylesheet/images/edit.png"></a></center></td>
<td scope="col"><center><a href="content.php?vdelcat=' . $cat_id . '"><img src="style/stylesheet/images/delete.png"></a></center></td>
<td scope="col"><center><a href="content.php?vadd=' . $cat_id . '">Добавить</a></center></td>
",


}

关于内部连接呢?您可以在返回行的循环位置发布php代码吗?在php中,您使用完全连接而不是左连接如果我用完全连接替换左连接,它会显示一个错误:mysql\u fetch\u array需要参数,然后我发布代码what is'$菜单\u目录\u xxx$菜单名称有点混乱。$menu\u cat\u xxx有时是空的吗