Problème avec while qui ne continu pas
Posté : 20 mai 2012, 23:28
Bonsoir,
Je bloque depuis plusieurs heures sur un simple while dans lequel j’exécute un mysql_fetch_array. Lorsque je teste la requete dans phpmyadmin j'ai bien deux résultat.
Pourtant je n'ai qu'un seul résultat qui s'affiche dans mon script, même en phase de debug :
Je bloque depuis plusieurs heures sur un simple while dans lequel j’exécute un mysql_fetch_array. Lorsque je teste la requete dans phpmyadmin j'ai bien deux résultat.
Pourtant je n'ai qu'un seul résultat qui s'affiche dans mon script, même en phase de debug :
// requète SQL
$sql_1 = "SELECT * FROM ".$prefixe."_categories";
// DEBUG
echo 'sql_1 : '.$sql_1.'<br />';
// on envoie la requète
$req_1 = mysql_query($sql_1) or die('Erreur SQL !<br>'.$sql_1.'<br>'.mysql_error());
// DEBUG
echo 'req_1 : '.$req_1.'<br />';
// On donne une valeur à notre variable
$i = 1;
$item = 2;
// on lis les résultats avec la boucle while();
while($resultat_1 = mysql_fetch_array($req_1)) {
// on remplace les espaces par des "_" pour créer l'adresse
$titre_cat_adresse = str_replace(' ','_',$resultat_1['titre']);
// DEBUG
echo '<br />titre_cat_adresse : '.$titre_cat_adresse;
// on affiche le nom de la catégorie (série)
//echo'<li><a href="./categorie-'.$resultat['id'].'-'.$titre_cat_adresse.'.html">'.stripslashes($resultat['titre']).'</a>';
// Requètes diverses
$sql1_1 = "SELECT count(*) as qte FROM ".$prefixe."_articles WHERE categorie='".$resultat_1['id']."' AND valide!='non' AND time <= '".$temps_actuel."'";
$sql2_1 = "SELECT * FROM ".$prefixe."_articles WHERE categorie='".$resultat_1['id']."' AND valide!='non' AND time <= '".$temps_actuel."' ORDER BY time DESC";
// DEBUG
echo '<br /> sql1_1 :'.$sql1_1;
echo '<br /> sql2_1 :'.$sql2_1;
// on compte le nombre d'articles dans cette catégorie
$req1 = mysql_query($sql1_1) or die('Erreur SQL !<br>'.$sql1_1.'<br>'.mysql_error());
$nombre = mysql_fetch_array($req_1);
echo '<div onmouseout="mouseOut()" onmouseover="mouseOverItem()" id="itemMenu'.$item.'" class="item">';
if($nombre > "0")
{
// on regarde quels sont les article dans cette catégorie
$req2_1 = mysql_query($sql2_1) or die('Erreur SQL !<br>'.$sql2_1.'<br>'.mysql_error());
// on lis les résultats avec la boucle while();
while($resultat2_1 = mysql_fetch_array($req2_1)) {
// on supprime les ".", """, "'" et on remplace les espaces par des "_" pour créer l'adresse
// Pour ce faire on met toutes les erreurs dans un tableau
$erreur= array('.','\'','/','"','-');
$titre_art_adresse = str_replace($erreur,'',$resultat2_1['titre']);
$titre_art_adresse = str_replace(' ','_',$titre_art_adresse);
$titre_art_adresse = remove_accents($titre_art_adresse);
$resultat2_1['titre'] = substr($resultat2_1['titre'], 0, 25).'...';
echo'<a href="article-'.$resultat2_1['categorie'].'-'.$resultat2_1['id'].'-'.$titre_art_adresse.'.html" class="lienItem">'.stripslashes($resultat2_1['titre']).'</a> | ';
}
//echo '</ul>';
}
echo '</div>';
$item++;
}
Merci d'avance pour votre aide et vos conseils.