login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zoeken op alles (Opgelost)

Offline Lerac - 08/01/2008 19:06
Avatar van LeracNieuw lid Ik heb deze code gemaakt omdat ik niet wil zoeken met full text search. Ik probeer dus dat full text search te omzeilen.

Ik zou graag willen zoeken met alles (dus in trefwoord en omschrijving) zoeken met de AND operator met de explode functie). Regel 40 t/m 44 moet er naast met trefwoord ook met omschrijving gezocht worden. Hoe doe ik dat?

Ik heb een aantal dingen geprobeerd maar allemaal zonder succes.


  1. <?php
  2. ini_set('display_errors', 'On');
  3. require_once("databaseconnectionuploaden.php");
  4. ?>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  9. <title>Zoeken</title>
  10. </head>
  11.  
  12. <body>
  13.  
  14. <form form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
  15. Zoek op:<br>
  16. <select name="zoekenop">
  17. <option value="omschrijving">Omschrijving</option>
  18. <option value="trefwoord">Trefwoord</option>
  19. <option value="alles" selected="selected">alles</option>
  20. </select><p>
  21. <input name="zoeken" type="text" id="zoeken" size="30"><p>
  22. <input type="submit" value="zoeken">
  23. </form>
  24.  
  25. <?php
  26. if($_SERVER['REQUEST_METHOD'] == 'POST')
  27. {
  28. $zoekenop = mysql_real_escape_string($_POST['zoekenop']);
  29. $zoeken = mysql_real_escape_string($_POST['zoeken']);
  30.  
  31. if ($zoekenop == 'alles')
  32. {
  33. $zoekexploded = explode(' ', $zoeken);
  34. $like = "";
  35. foreach($zoekexploded as $k=>$v)
  36. {
  37. if($k == 0)
  38. {
  39. $like .= "`trefwoord` LIKE '%".$v."%' ";
  40. }
  41. else
  42. {
  43. $like .= "AND `trefwoord` LIKE '%".$v."%' ";
  44. }
  45. }
  46. $sql = "
  47. SELECT thumbnail, trefwoord, omschrijving
  48. FROM afbeelding
  49. WHERE ".$like." OR
  50. ".$like."
  51. ";
  52. }
  53. else
  54. {
  55. $zoekexploded = explode(' ', $zoeken);
  56. $like = "";
  57. foreach($zoekexploded as $k=>$v)
  58. {
  59. if($k == 0)
  60. {
  61. $like .= "`$zoekenop` LIKE '%".$v."%' ";
  62. }
  63. else
  64. {
  65. $like .= "AND `$zoekenop` LIKE '%".$v."%' ";
  66. }
  67. }
  68. $sql = "
  69. SELECT thumbnail, trefwoord, omschrijving
  70. FROM afbeelding
  71. WHERE ".$like."
  72. ";
  73. }
  74.  
  75. $res = mysql_query($sql);
  76.  
  77. if(!$res)
  78. {
  79. trigger_error(mysql_error().'<br />In query: '.$sql);
  80. }
  81. else
  82. {
  83. if (mysql_num_rows($res) >= 1)
  84. {
  85. while ($row = mysql_fetch_array($res))
  86. {
  87. echo '<img src="'.$row['thumbnail'].'" alt="thumbnail" /></p>';
  88. echo "<a href=\"registered_user_area_zoeken.php\" title=\"zoek opnieuw\">zoek opnieuw</a>";
  89. }
  90. }
  91. else
  92. {
  93. echo "<p>Er is niets gevonden op jou zoekterm:<b> $HTTP_POST_VARS[zoeken]</b></p>";
  94. echo "<p><a href=\"registered_user_area_zoeken.php\" title=\"zoek opnieuw\">zoek opnieuw</a></p>";
  95. }
  96. }
  97. }
  98. ?>
  99. </body>
  100. </html>

0 antwoorden

Gesponsorde links
Er zijn nog geen reacties op dit bericht.
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.174s