0

我无法从我正在使用的 foreach 循环中访问“model_id”和“brand_id”。

它们是正确的字段名称,因为我已经成功地回显了它们,并且我还“var_dumped”了数组,并且 ID 就在那里。这只是在每个列表部分上实现相关链接的情况。下面是我的代码。

<?
$output = mysqli_query("SELECT * FROM bikes, bikeTypes WHERE bikes.model_id = bikeTypes.model_id");
$result = array();
while($row = mysqli_fetch_array($output))
 {
   $result[$row['model']][] = $row;
 }

foreach ($result as $category => $values) {
  echo "<li><a href='test.php?id=" . $row['model_id'] . "'>".$category.'</a><ul>';
    foreach ($values as $value) 
      {
      echo "<li><a href='details.php?id=" . $row['brand_id'] . "'>" . $value['bikeName'] . "</a></li>";
      }
  echo '</ul>';   
  echo '</li>';
 }
?>
4

2 回答 2

2

在 foreach 循环中使用 $value 而不是 $row

foreach ($values as $value) 
      {
      echo "<li><a href='details.php?id=" . $value['brand_id'] . "'>" . $value['bikeName'] . "</a></li>";
      }

试试这个

while($row = mysql_fetch_array($output))
 {
   $result[] = $row;
 }
//var_dump($result);
foreach ($result as $key => $val) {
  echo "<li><a href='test.php?id=" . $val['model_id'] . "'>".$key.'</a><ul>';
  echo "<li><a href='details.php?id=" . $val['brand_id'] . "'>" . $val['bikeName'] . "</a></li>";
  echo '</ul>';   
  echo '</li>';
 }
于 2012-11-01T11:03:03.627 回答
1

在您的 foreach 中,您定义了 $category 和 $values,并且在该循环中您使用了 $row。你不应该使用$values['brand_id']吗?

于 2012-11-01T11:01:19.183 回答