2012-11-01 9 views
0

У меня возникли проблемы с доступом к «model_id» и «brand_id» из цикла foreach, который я использую.Извлечение идентификаторов из запроса MySQL

Это правильные имена полей, потому что я успешно их повторил, и у меня также есть «var_dumped» массив, а идентификаторы есть. Это всего лишь случай реализации соответствующих ссылок в каждом разделе списка. Ниже приведен код, который у меня есть.

<? 
$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

Вашего Rowset хранилось в '$ result' в то время цикла. Затем вы перебираете '$ result', используя переменные' $ values', но используете '$ row ['model_id']' внутри. Изменить на '$ values ​​['model_id']' –

ответ

2

Используйте значение $ вместо $ строки в цикле Еогеаспа

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>'; 
} 
+0

эй, спасибо за подсказку, однако, не получилось. поле id остается пустым –

+0

попытайтесь отладить $ result. Я не уверен, почему вы создали массив, подобный этой $ row ['model']] []; –

+0

эй, я добавил var_dump ($ result) в меню, если это помогает? –

1

В вашем foreach вы определяете $ category и $ values, и в этом цикле вы используете $ row. Разве вы не должны использовать $values['brand_id']?

Смежные вопросы