0

解決策を見つけようとしています。同じ ID を使用して別のテーブルからデータを取得しようとしています。これが私のコードです

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

セクションを作成し、後でコンテンツを入力する必要があります。テーブル menucat はセクションを持つ親テーブルであり、vmenutab はコンテンツを持つ子テーブルです。しかし、問題があり、正しく表示されません。次のようになります。

セクション1

  • リンク1
  • リンク2

しかし、次のように表示されます。

セクション1

  • リンク1

セクション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

あなたのデータベースデータがわからないための例。また、dbを猫IDでソートします

' . $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 に答える