Mysql_fetch_array() erreur...

moldau78 Messages postés 4 Date d'inscription dimanche 31 octobre 2010 Statut Membre Dernière intervention 3 novembre 2010 - 2 nov. 2010 à 23:24
moldau78 Messages postés 4 Date d'inscription dimanche 31 octobre 2010 Statut Membre Dernière intervention 3 novembre 2010 - 2 nov. 2010 à 23:32
Dans ce code d'un petit moteur de recherche, j'obtiens l'erreur Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /.../ on line 85
ligne 85 while($req mysql_fetch_array($requete))
Une idée ?
Merci de votre aide


<?php require_once('../cours.php'); ?>
<?php
//On determine l'expression a rechercher
if(isset($_GET['recherche']))
{
$rec = htmlentities($_GET['recherche']);
}
else
{
$rec = 'chopin';
}
//On determine le type de recherche
if(isset($_GET['type']))
{
if($_GET['type']=='un')//Un des mots
{
$type = 1;
}
elseif($_GET['type']=='tout')//Tout les mots
{
$type = 2;
}
else//L'expression exacte
{
$type = 3;
}
}
else
{
$type = 1;//type par defaut: L'expression exacte
}
//On determine si on doit surligner les mots dans les resultats
if(!isset($_GET['surligner']) or $_GET['surligner']!='true')
{
$surligner = false;
}
else
{
$surligner = true;
}


$req = 'SELECT nomcompo, professeurID, oeuvre FROM cours WHERE ';
if($type==1)
{//ayant un des mots dans leurs informations
$mots = explode(' ',$rec);//En separre lexpression en mots cles
foreach($mots as $mot)
{
$req .= ' oeuvre LIKE "%'.$mot.'%" OR';
}
$req .= ' 1=0';
}
elseif($type==2)
{//ayant tout des mots dans leurs informations
$mots = explode(' ',$rec);//En separre lexpression en mots cles
foreach($mots as $mot)
{
$req .= ' oeuvre LIKE "%'.$mot.'%" AND';
}
$req .= ' 1=1';
}
else
{//ayant l'expression exacte dans leurs informations
$req .= 'oeuvre LIKE "%'.$rec.'%"';
}
//Les utilisateur seront ranges par nomcompoentifiant en ordre croissant
$req .= ' order by nomcompo asc';
$requete = mysql_query($req);
//Le formulaire de recherche
?>


<form action="" method="get">
Expression à rechercher: " />

Type de recherche: /> Un des mots /> Tout les mots /> Expression exacte

Mettre en gras les mots recherchés: />


</form>
Résultats

Compo |
Prof |
Oeuvre |

<?php
//On affiche les resultats
while($req = mysql_fetch_array($requete))
{
?>
----

<?php echo $req['nomcompo']; ?>,
<?php echo $req['professeurID']; ?>,
<?php
if($surligner)//Si il faut surligner les mots, on les surligne
{
if($type==3)
{
echo preg_replace('#('.preg_quote($rec).')#i', '$1', $dnn['oeuvre']);//On surligne l'expression exacte
}
else
{
echo preg_replace('#('.str_replace(' ','|',preg_quote($rec)).')#i', '$1', $dnn['oeuvre']);//On surligne les mots cles de la recherche
}
}
else
{
echo $dnn['oeuvre'];//On ne surligne pas
}
?>,

<?php
}
?>

1 réponse

moldau78 Messages postés 4 Date d'inscription dimanche 31 octobre 2010 Statut Membre Dernière intervention 3 novembre 2010
2 nov. 2010 à 23:32
RESOLU
0
Rejoignez-nous