Php 不显示所有菜单

Php 不显示所有菜单,php,Php,“菜单”按钮中有4个子菜单,分别是饮料、主菜、开胃菜和甜点。当用户单击饮料时,他们将被引导到饮料,当他们转到其他子菜单按钮时也是如此。但我想在用户点击“菜单”按钮时显示所有菜单。我知道我必须使用“else”,但菜单根本不显示 menu.php <div class="products"> <?php if (isset($_GET['id'])) { //current URL of the Page. basket_update.php redirects back to

“菜单”按钮中有4个子菜单,分别是饮料、主菜、开胃菜和甜点。当用户单击饮料时,他们将被引导到饮料,当他们转到其他子菜单按钮时也是如此。但我想在用户点击“菜单”按钮时显示所有菜单。我知道我必须使用“else”,但菜单根本不显示

menu.php

<div class="products">
<?php

if (isset($_GET['id'])) {
//current URL of the Page. basket_update.php redirects back to this URL
$current_url = base64_encode($url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);

$results = $mysqli->query("SELECT * FROM menu WHERE MenuTypeID = ".$_GET['id']);
$currency = '$';

if ($results) { 

    //fetch results set as object and output HTML
    while($obj = $results->fetch_object())
    {
        echo '<div class="product">'; 
        echo '<form method="post" action="basket_update.php">';
        echo '<div class="product-thumb"><img src="'.$obj->MenuPicture.'" /></div>';
        echo '<div class="product-content"><h3>'.$obj->MenuName.'</h3>';
        echo '<div class="product-desc">'.$obj->MenuDescription.'</div>';
        echo '<div class="product-info">';
        echo 'Price: '.$currency.$obj->MenuPrice.' | ';
        echo 'Qty <input type="text" name="menu_qty" value="1" size="1" />';
        echo '<button class="add_to_basket">Add To Basket</button>';
        echo '</div></div>';
        echo '<input type="hidden" name="MenuID" value="'.$obj->MenuID.'" />';
        echo '<input type="hidden" name="type" value="add" />';
        echo '<input type="hidden" name="return_url" value="'.$current_url.'" />';
        echo '</form>';
        echo '</div>';
    }
}

?>
<?php 
}else{
       $query2 = "SELECT * FROM Menu";
       $result2 = mysql_query($query2);
    }
?>

</div>  

试试这个代码

<div class="products">
<?php

 if (isset($_GET['id'])) {
   $results = $mysqli->query("SELECT * FROM menu WHERE MenuTypeID = ".$_GET['id']);
 }
 else{
 $results = $mysqli->query("SELECT * FROM menu");
 }
  //current URL of the Page. basket_update.php redirects back to this URL
  $current_url = base64_encode($url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);


 $currency = '$';

if ($results) { 

//fetch results set as object and output HTML
while($obj = $results->fetch_object())
{
    echo '<div class="product">'; 
    echo '<form method="post" action="basket_update.php">';
    echo '<div class="product-thumb"><img src="'.$obj->MenuPicture.'" /></div>';
    echo '<div class="product-content"><h3>'.$obj->MenuName.'</h3>';
    echo '<div class="product-desc">'.$obj->MenuDescription.'</div>';
    echo '<div class="product-info">';
    echo 'Price: '.$currency.$obj->MenuPrice.' | ';
    echo 'Qty <input type="text" name="menu_qty" value="1" size="1" />';
    echo '<button class="add_to_basket">Add To Basket</button>';
    echo '</div></div>';
    echo '<input type="hidden" name="MenuID" value="'.$obj->MenuID.'" />';
    echo '<input type="hidden" name="type" value="add" />';
    echo '<input type="hidden" name="return_url" value="'.$current_url.'" />';
    echo '</form>';
    echo '</div>';
}
}

?>


警告:您正在将数据库暴露给一个错误。确保验证并清理所有用户输入。(也是)在第一次查询中,使用菜单作为表名。但在第二个查询中,它看起来像菜单?表的名称区分大小写吗@Vural您能解释一下您更改了什么吗?如果$\u GET['id']中有一个值,请检索该特定类别中的产品。否则,选择所有产品。