2012-11-01 3 views
0

J'ai des difficultés à accéder aux paramètres "model_id" et "brand_id" de la boucle foreach que j'utilise.Récupération des ID de la requête MySQL

Ce sont les bons noms de champs, parce que je leur ai fait écho avec succès, et j'ai aussi "var_dumped" le tableau, et les ID sont là. C'est juste un cas de mise en œuvre des liens pertinents sur chaque section de la liste. Voici le code que j'ai.

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

Votre rowset a été stocké dans 'result' de $ dans la boucle while. Vous bouclez ensuite '$ result' en utilisant la variable' $ values', mais vous utilisez '$ row ['model_id']' à l'intérieur. Changez pour '$ values ​​['model_id']' –

Répondre

2

Utiliser la valeur $ au lieu de $ row en boucle foreach

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

Essayez cette

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

hey, merci pour le conseil, n'a pas fonctionné cependant. le champ id est toujours vide –

+0

essayez de déboguer le résultat $. Je ne suis pas sûr pourquoi avez-vous créé un tableau comme ce $ row ['model']] []; –

+0

hey là, j'ai ajouté var_dump ($ resultat) sous le menu si cela aide? –

1

Dans votre foreach, vous définissez les valeurs $ category et $ et dans cette boucle vous utilisez $ row. Vous ne devriez pas utiliser $values['brand_id']?

Questions connexes