J'ai une boucle while d'un appel mysql mais j'essaie aussi d'exécuter une autre requête mysql à l'intérieur de la boucle while mais elle ne le fait qu'une seule fois. Je ne peux pas le comprendre.Exécution de mysql à l'intérieur d'une boucle while
Voici mon code:
$sql = "SELECT * FROM widget_layout WHERE module_id=".mysql_real_escape_string($id)." AND state='".mysql_real_escape_string($page)."' AND position=".mysql_real_escape_string($position);
$query = mysql_query($sql);
while ($row = mysql_fetch_assoc($query)) {
$layout .= $row['widget_id'].'<br/>'; //test if it is looping through all rows
$sql2 = "SELECT title FROM widgets WHERE id=".$row['widget_id'];
$query2 = mysql_query($sql2);
$result2 = mysql_fetch_array($query2);
$layout .= $result2[0]; // test the title output
}
Il est Boucler dans la première requête sans problème, mais la deuxième requête est charge seulement le titre du premier widget, return null pour le reste. Une idée de pourquoi cela fait cela?
Ajoutez une instruction if dans votre boucle if (! $ Query2) {echo mysql_error(); Sortie; } pour vérifier si la deuxième requête a des erreurs qui arrêtent la boucle. –