从MySQL查询中检索ID

时间:2012-11-01 10:59:09

标签: php mysql

我无法从我正在使用的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>';
 }
?>

2 个答案:

答案 0 :(得分: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>';
 }

答案 1 :(得分:1)

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