Php mySQL查询中只有一个选项未显示

Php mySQL查询中只有一个选项未显示,php,mysql,Php,Mysql,我无法在上的“新摩托车”部分显示所有子菜单项。例如,冒险应该有三个选择,而不是一个。这是我使用的代码 <? $output = mysqli_query("SELECT * FROM bikes, bikeTypes WHERE bikes.model_id = bikeTypes.model_id GROUP BY bikeTypes.model_id"); while($row = mysqli_fetch_array($output)) { echo "<li>&

我无法在上的“新摩托车”部分显示所有子菜单项。例如,冒险应该有三个选择,而不是一个。这是我使用的代码

<?
$output = mysqli_query("SELECT * FROM bikes, bikeTypes WHERE bikes.model_id = bikeTypes.model_id GROUP BY bikeTypes.model_id");
while($row = mysqli_fetch_array($output))
 {
   echo "<li><a href='test.php?id=" . $row['model_id'] . "'>".$row['model'].'</a><ul>';
   echo "<li><a href='details.php?id=" . $row['bike_id'] . "'>" . $row['bikeName'] . "</a></li>";
   echo '</ul>';   
   echo '</li>';
 }
//var_dump($result);
?>
试试这个:

选择bikeTypes.id,bikeTypes.name,bikes.name,bikes.id从bikeTypes左键连接自行车 bikes.model\u id=bikeTypes.model\u id


如果您看到我编写的查询中有一个
左连接
。DB引擎将您所做的操作视为
内部连接

但你需要的是

 $output = mysqli_query("SELECT * FROM bikeTypes");
    while($row = mysqli_fetch_array($output))
     {

       echo "<li><a href='test.php?id=" . $row['model_id'] . "'>".$row['model'].'</a><ul>';
       $subcat = mysqli_query("SELECT * FROM bikes WHERE model_id = $row['model_id']");

       while($rowSub = mysqli_fetch_array($subcat)){    
       echo "<li><a href='details.php?id=" . $rowSub['bike_id'] . "'>" . $rowSub['bikeName'] . "</a></li>";
       }
       echo '</ul>';   
       echo '</li>';

 }
$output=mysqli_查询(“从bikeTypes中选择*);
while($row=mysqli\u fetch\u数组($output))
{
回声“
    • ”; $subcat=mysqli\u查询(“从自行车中选择*,其中model\u id=$row['model\u id']); 而($rowSub=mysqli_fetch_数组($subcat)){ 回声“
    • ”; } 回声“
    ”; 回音“
  • ”; }

    看看你想关闭UL和Li的位置。

    你改变了什么?有什么不同?为什么这项工作和他不会?请添加那些点而不是仅仅向他扔代码。如果你看到我写的查询有一个左连接。你所做的是被DB引擎当作内部连接。很好,这应该是PAR。答案的t部分,请下次在答案中包含这些详细信息。嘿,伙计们!谢谢你们的输入,但这不起作用,无法再访问id。我保留了原始查询,但上帝去掉了“分组方式”“正如你在网站上看到的那样,情况已经发生了变化。你们都觉得怎么样?请把问题中两个表的结构都贴出来好吗?