Mysql_fetch_array

Bonjour,
j’ai un pb avec la fonction mysql_fetch_array
dans ce code elle n’affiche pas une erreur mais elle n’affiche pas le resultat.
je souhaite de declare $resultats = mysql_fetch_array($query); avant le ‘while’ , parce que j’utilise le variable $resultats avant le while.


<?php
$resultats = mysql_fetch_array($query);
			 if  ($valeur_requete==$resultats["terme"])
			 {
			   echo "aaaaaaaaaaaaaaaaa";
			   while($resultats) //boucle affichant les résultats
                     {
                       if(!array_key_exists($resultats["url"], $somme))
				         {
                           $somme[$resultats["url"]] = 0;
				         }
                       if(!array_key_exists($resultats["url"], $somme2))
				         {
                           $somme2[$resultats["url"]] = 0;
				         }

						 $somme[$resultats["url"]] +=  $resultats["poids"];
						 $somme2[$resultats["url"]] +=  $resultats["poids"] * $resultats["poids"];
                     }
         
	       arsort($somme);
	       foreach ($somme as $url => $poids) 
		     {
		       $somme_carre=$somme2[$url];
		       $racine_sommecarre=sqrt($somme2[$url]);
		       $somme_mot=sqrt($nombre_mots);
		       $rsv=$poids/($somme_mot*$racine_sommecarre);
			   $affichage="select titre,resume,type_offre FROM document WHERE url='$url'";
		       $affichage1=mysql_query($affichage); 
		       $affichage2 = mysql_fetch_array($affichage1);
		       echo '<p align="left" style="margin-bottom:-60px; font-size=20px; margin-left:18px;"><a href=' .$url. '>'.$affichage2['titre'].'</a>...<p><br>
		       <p><hr  style="border-bottom:solid 1px #000066;width:870px; margin-left:3px; margin-bottom:-50px;"></hr></p><br>
		       <p align="left" style="margin-bottom:-50px; margin-left:35px; margin-top:-30px; margin-right:20px;">'.$affichage2['resume'].'...<p><br>
		       <p align="left" style="margin-bottom:-50px; color:#0F7C91; margin-left:35px;">' . $url . '<p><br><br><br>
			   <p>'.$rsv.'</p>
			   <p>'.$poids.'</p>
			   <p> </p>';    
            }
		}
?>

parce que dans ce code elle n’affiche pas le resultat de recherche.
svp est_ce qu’il ya qlq peut me répondre.
Merci d’avance.

En français cela donne quoi?

Je comprends ce que tu veux, mais il manque des informations. Cependant je peux tout de même te donner un conseil à moins que tu ne le saches. Si tu as du mal à gérer les variables ne leur donne pas le même nom.
Je ne sais pas si ça va régler le problème, mais essaie déjà ça.

En même temps, toutes les branches de ton code n’affichent pas quelque chose : si la condition $valeur_requete==$resultats[“terme”] est fausse, alors rien ne va s’afficher… dans ce cas, le mieux serait d’inclure un else qui affiche le contenu de ces deux variables.

Autrement, tu peux restructurer ton code de cette façon :


$first = true;

while($resultats = mysql_fetch_array($query))
{
  if($first)
  {
    echo "Première ligne !";
   $first = false;
  }
  else
  {
    echo "Autres lignes";
  }
}

Parce que ton while($resultats) ne va jamais passer à la ligne suivante :wink: