2012-11-01 2 views
0

"foreach 루프에서"model_id "및"brand_id "에 액세스하는 데 문제가 있습니다.MySQL 쿼리에서 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

귀하의 행 세트 while 루프에서'$의 result'에 저장된보십시오. 그런 다음'$ values' 변수를 사용하여'$ result'를 반복하지만'$ row [ 'model_id']'내부를 사용하고 있습니다. '$ values ​​[ 'model_id']' –

답변

2

사용 $ 값이

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

$ 결과를 디버그하려고합니다. 왜이 $ row [ 'model']] []와 같은 배열을 만들었는지 잘 모르겠습니다. –

+0

안녕하세요, 도움이된다면 메뉴 아래에 var_dump ($ result)를 추가 했습니까? –

1

foreach에서는 $ category와 $ values를 정의하고이 루프에서 $ row를 사용하고 있습니다. $values['brand_id']을 사용해야하지 않습니까? foreach 루프

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

에서 대신 $ 행의