0

我正在尝试找到解决方案,我正在尝试使用相同的 ID 从不同的表中获取数据。这是我的代码

 "SELECT * FROM menucat LEFT JOIN vmenutab ON menucat.cat_id = vmenutab.menu_id";

我需要创建部分,然后用一些内容填充它们,表 menucat 是带有部分的父表,vmenutab 是带有内容的子表。但我有一个问题,它没有正确显示。它应该是这样的:

第一节

  • 链接1
  • 链接2

但它显示如下:

第一节

  • 链接1

第一节

  • 链接2

我一直在使用搜索,GROUP BY 和 DISTINCT 没有用。

表:

menucat: cat_id menu_cat_est menu_cat_ru menu_cat_en

vmenutab: id (唯一链接 id) menu_id (id 到相关部分) menu_name_est menu_name_ru menu_name_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:添加了表格行。

4

1 回答 1

0

一个例子,因为我不知道你的数据库数据。还按猫 id 对 db 进行排序

' . $menu_cat_xxx . ''.$menu_name_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>

';

}

于 2013-06-15T21:33:18.767 回答