moteur de recherche qui n'affiche aucun resultat !!!

Petit nouveau ! | 1 Messages

16 mars 2010, 20:59

Bonjour,

J'aimerai vous solliciter pour un problème que je rencontre : ma page de resultat, resultat.php ,
On accède à celle-ci lorsque l'on fait une recherche depuis n'importe quelle page de mon site.

Pour plus de détails, voilà le code php de la page resultat.php :
<p> Voici la liste des résultats de votre recherche :</p>

<?php do { ?>
  <p><?php echo $row_tshirt['Nom']; ?></p> 
  <a href="details.php?id=<? echo $row_tshirt['id']; ?>"><? echo $row_tshirt['description']; ?></a> 
  
  <br/>
  
  
  
  <p><a href="details.php?id=<?php echo $row_tshirt['id']; ?>">Allez ici !</a></p>
  
  
  
<?
while($row_tshirt = mysql_fetch_array($tshirt)) // on fait un while pour afficher la liste des fonctions trouvées, ainsi que l'id qui permettra de faire le lien vers la page de la fonction
{
?>
<a href="details.php?id=<? echo $row_tshirt['id']; ?>"><? echo $row_tshirt['Nom']; ?></a><br/>
 <?
} 
  
  
  
  
   
  <?php } while ($row_tshirt = mysql_fetch_assoc($tshirt)); ?>


<p><a href="details.php?id=<?php echo $row_tshirt['id']; ?>">Allez ici !</a></p>


  <p> Il n'y a pas de résultats pour cette recherche.</p>
  

<pre>
<?php
print_r($_SESSION);
?>
</pre>

<pre>
<?php
print_r($_COOKIE);
?>
</pre>

<pre>
<?php
print_r($_GET);
?>
</pre>

<pre>
<?php
print_r($_POST);
?>
</pre>

<pre>
<?php
print_r($_FILES);
?>
</pre>

Je cherche donc à permettre au visiteur de faire des recherches d'article (ici, tshirt) en tapant un motcle. Afin de faire des tests, j'ai volontairement demandé plusieurs résultats (mais tous renvoient vers details.php?id=1 ) .

Lorque l'on fait une recherche sur mon site dans un navigteur, j'obtiens, en plus des resultats qui me donne toujours acces à la page details.php?id=1
un message d'erreur qui stipule :

Warning: mysql_fetch_assoc(): 5 is not a valid MySQL result resource in C:\wamp\www\Unnamed Site 2\resultat.php on line 152

Voilà, je ne comprend pas. Car en plus, j'utilise mysql_fetch_assoc() sur une autre page du site, et cela fonctionne...
J'espère que mon probleme reste conprehensible.
En vous remerciant pour votre aide



j'oubliais :
Voici le code SQL de mon jeu d'enregistrement de la page resultat.php :
SELECT *
FROM shop_tshirt
WHERE shop_tshirt.description LIKE %motcle% OR shop_tshirt.Nom LIKE %motcle% 
ou motcle = 0 et $_POST['motcle']

Modérateur PHPfrance
Modérateur PHPfrance | 7637 Messages

16 mars 2010, 23:53

Une piste:
L'imbrication des boucles (do while et while) sur une même variable "$row_tshirt"

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 1315 Messages

24 mars 2010, 15:30

J'ai rien compris. Désolé.
Compte supprimé

Modérateur PHPfrance
Modérateur PHPfrance | 7637 Messages

24 mars 2010, 18:06

tu as
do
{
...
while($row_tshirt = mysql_fetch_array($tshirt))
{
....
}
}
while ($row_tshirt = mysql_fetch_assoc($tshirt))
ta variable row_tshirt est donc utilisée pour boucler sur 2 contenus différents

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 1315 Messages

25 mars 2010, 01:47

Non truc, je ne parlais pas à toi. Je disais que j'ai compris à la question initiale. En gros, je disais : peux-tu reformuler la question stp ?
Compte supprimé

Modérateur PHPfrance
Modérateur PHPfrance | 7637 Messages

25 mars 2010, 17:37

Non truc, je ne parlais pas à toi. Je disais que j'ai compris à la question initiale. En gros, je disais : peux-tu reformuler la question stp ?
Ok... je pense que l'auteur est déjà loin en faite :?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute