Se connecter / S'enregistrer

Résolu script adequat pour moteur de recherche

Solutions (1)
Tags :
  • MySQL
  • Moteur de recherche
  • Php
  • Utf-8
  • Echo
|
j'ai crée un moteur de recherche dans un site une j'ai fait pour une entreprise de construction et lorsque l'internaute tape sa recherche, selon le code php que jai fait, le resultat exacte de sa recherche apparait, si aucun resultat n'est trouvé, des resultats correspondand a un des champ rempli lui sont proposés.
je vous montre mon code php.

  1. <?php
  2. $req_AND = mysql_query("select * from batiment where lieu='$lieu' and superficie='$superf' and prix='$prix'");
  3. $nombre_de_resultat = mysql_num_rows($req_AND);
  4. if($nombre_de_resultat == 0){
  5. echo "<p align=center><font color=red size=+2>AUCUN RESULTAT NE CORRESPOND A VOTRE RECHERCHE!</font></p>";
  6. }
  7. else{
  8. while($dnn_AND = mysql_fetch_array($req_AND)){
  9. ?>
  10. <tr>
  11. <td bgcolor="#CCCCCC"><?php echo($dnn_AND['id']); ?></td>
  12. <td><?php echo htmlentities($dnn_AND['lieu'], ENT_QUOTES, 'UTF-8'); ?></td>
  13. <td width="152"><?php echo htmlentities($dnn_AND['superficie'], ENT_QUOTES, 'UTF-8'); ?></td>
  14. <td width="132"><?php echo htmlentities($dnn_AND['prix'], ENT_QUOTES, 'UTF-8'); ?></td>
  15. <td bgcolor="#CCCCCC" width="152"><?php echo($dnn_AND['description']); ?></td>
  16.  
  17.  
  18. </tr>
  19. <?php
  20. }
  21. +
  22. ?>
  23. <tr>
  24. </table>
  25. <BR/><BR/>
  26. <HR/>
  27. <p><font color="#006600" size="+2">Résultats qui pourraient vous interrésser...</font></p>
  28. </table>
  29. <table width="596" border="1" align="center">
  30. <tr>
  31. <td width="70" align="center" bgcolor="#FFFFFF">ID</td>
  32. <td width="169" align="center" bgcolor="#FFFFFF">LIEU</td>
  33. <td align="center" bgcolor="#FFFFFF">SUPERFICIE</td>
  34. <td align="center" bgcolor="#FFFFFF">PRIX</td>
  35. <td align="center" bgcolor="#FFFFFF">DESCRIPTION</td>
  36.  
  37. </tr>
  38. <?php
  39. $req = mysql_query("select * from batiment where lieu='$lieu' or superficie='$superf' or prix='$prix'");
  40. while($dnn = mysql_fetch_array($req)){
  41. ?>
  42. <tr>
  43. <td bgcolor="#FFFFFF"><?php echo($dnn['id']); ?></td>
  44. <td><?php echo htmlentities($dnn['lieu'], ENT_QUOTES, 'UTF-8'); ?></td>
  45. <td width="152"><?php echo htmlentities($dnn['superficie'], ENT_QUOTES, 'UTF-8'); ?></td>
  46. <td width="132"><?php echo htmlentities($dnn['prix'], ENT_QUOTES, 'UTF-8'); ?></td>
  47. <td bgcolor="#CCCCCC" width="152"><?php echo($dnn['description']); ?></td>
  48. </tr>
  49. <?php
  50. }


mon souci est que meme lorsque un resultat est trouvé avec la première requete AND, le meme resultat aparait avec la deuxième requete OR; c'est ce que je veux eviter.
je veux que si un resulta est trouve dans la première requete, quil n'apparait pas dans la 2eme requete OR

aidez moi s'il vous plait. merci d'avance







  • andrelec1 a édité ce message
  • speedy fernandez a édité ce message
Contenus similaires
Meilleure solution
partage
, Programmation (collector) |
Bonjour,
Dans un premier temps je te conseil de passer tout de suite a la PDO !!!

Ensuite pour ton problèmes ...
tu stock directement le retour des deux requête dans des array et ensuite , tu enlève les résultats du premier dans le deuxième
http://www.php.net/manual/fr/function.array-diff.php

puis seulement après tu parcours t'es deux tableau pour générer l'affichage !
  • Dreamcaster a sélectionné cette solution comme la meilleure réponse
  • Commenter cette solution |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS