login  Naam:   Wachtwoord: 
Registreer je!
 Forum

zoek functie (Opgelost)

Offline bas1995 - 30/01/2009 16:43
Avatar van bas1995Onbekend ik probeer een zoekfunctie te maken voor een forum, maar hij werkt niet


  1. <?
  2.  
  3. if(isset($_POST['submit'])){
  4. if($_POST['in'] = 'all'){
  5. $sql = "SELECT titel,bericht FROM topics WHERE titel = '".$_POST['zoek']."'";
  6. $query = mysql_query($sql);
  7. $sql2 = "SELECT titel,bericht FROM topics WHERE bericht = '".$_POST['zoek']."'";
  8. $query2 = mysql_query($sql2);
  9. $rij = mysql_fetch_object($query);
  10. $rij2 = mysql_fetch_object($query2);
  11. if((mysql_num_rows($query) > 0) && (mysql_num_rows($query2) > 0)){
  12. echo 'Lukt';
  13. }else{
  14. echo 'Niks gevonden <a href="zoek.php">Terug</a>';
  15. }
  16. }else{
  17. if($_POST['in'] = 'titel'){
  18. $sql = "SELECT titel,bericht FROM topics WHERE titel = '".$_POST['zoek']."'";
  19. $query = mysql_query($sql);
  20. if(mysql_num_rows($query) > 0){
  21. echo 'Lukt';
  22. }else{
  23. echo 'Niks gevonden <a href="zoek.php">Terug</a>';
  24. }
  25. }else{
  26. if($_POST['in'] = 'bericht'){
  27. $sql2 = "SELECT titel,bericht FROM topics WHERE bericht = '".$_POST['zoek']."'";
  28. $query2 = mysql_query($sql2);
  29. if(mysql_num_rows($query2) > 0){
  30. echo 'Lukt';
  31. }else{
  32. echo 'Niks gevonden <a href="zoek.php">Terug</a>';
  33. }
  34. }else{ echo '<a herf="zoek.php">Terug</a>'; }
  35. }
  36. }
  37. }else{
  38. ?>
  39. <form method="post" action="zoek.php">
  40. <table>
  41. <tr>
  42. <td>Zoeken in: </td><td><select name="in"><option value="all" selected>In titel en bericht</option><option value="titel">Alleen in titel</option><option value="bericht">Alleen in bericht</option></select></td>
  43. </tr>
  44. <tr>
  45. <td>Zoeken naar: </td><td><input type="text" name="zoek" /></td>
  46. </tr>
  47. <tr>
  48. <td></td><td><input type="submit" name="submit" value="Zoek" /></td>
  49. </tr>
  50. </table>
  51. </form>
  52. <?
  53. }
  54. ?>


ik voer gwn iets in in het formulier en wat ik ook invul hij zegt elke keer "Niks gevonden"

4 antwoorden

Gesponsorde links
Offline avdg - 30/01/2009 17:05 (laatste wijziging 30/01/2009 17:08)
Avatar van avdg PHP gevorderde De zoekterm moet de tekst van een volledige titel of bericht bevatten... niet echt makkelijk om dan iets te vinden...

misschien kan deze script meer hulp bieden: http://www.site...mp;id=1059
(sorry, ik ken echt niet veel meer over db)
Offline bas1995 - 30/01/2009 17:35
Avatar van bas1995 Onbekend ja ik weet ik heb het al een beetje aan gepast:


  1. <?
  2.  
  3. if(isset($_POST['submit'])){
  4. if($_POST['in'] = 'all'){
  5. $sql = "SELECT * FROM topics WHERE titel LIKE '%".$_POST['zoek']."%'";
  6. $query = mysql_query($sql);
  7. $sql2 = "SELECT * FROM topics WHERE bericht LIKE '%".$_POST['zoek']."%'";
  8. $query2 = mysql_query($sql2);
  9. if((mysql_num_rows($query) > 0) && (mysql_num_rows($query2) > 0)){
  10. while ($rij = mysql_fetch_array($query))
  11. {
  12. $nsql = "SELECT tid FROM replys WHERE tid = '" . $rij['id'] . "'";
  13. $nres = mysql_query($nsql);
  14. $msg = mysql_num_rows($nres);
  15. echo '<a href="replys.php?id=' . $rij['id'] . '&cat='.$rij['cat'].'">'.$rij['titel'].'</a> door <b><a href="profiel.php?user='. $rij['naam']. '">'. $rij['naam'] .'</a></b> ('.$msg.')<br />';
  16. }
  17. while ($rij2 = mysql_fetch_array($query2))
  18. {
  19. $nsql2 = "SELECT tid FROM replys WHERE tid = '" . $rij2['id'] . "'";
  20. $nres2 = mysql_query($nsql2);
  21. $msg2 = mysql_num_rows($nres2);
  22. echo '<a href="replys.php?id=' . $rij2['id'] . '&cat='.$rij2['cat'].'">'.$rij2['titel'].'</a> door <b><a href="profiel.php?user='. $rij2['naam']. '">'. $rij2['naam'] .'</a></b> ('.$msg2.')<br />';
  23. }
  24. }else{
  25. echo 'Niks gevonden <a href="zoek.php">Terug</a>';
  26. }
  27. }else{
  28. if($_POST['in'] = 'titel'){
  29. $sql = "SELECT * FROM topics WHERE titel LIKE '%".$_POST['zoek']."%'";
  30. $query = mysql_query($sql);
  31. if(mysql_num_rows($query) > 0){
  32. while ($rij = mysql_fetch_array($query))
  33. {
  34. $nsql = "SELECT tid FROM replys WHERE tid = '" . $rij['id'] . "'";
  35. $nres = mysql_query($nsql);
  36. $msg = mysql_num_rows($nres);
  37. echo '<a href="replys.php?id=' . $rij['id'] . '&cat='.$rij['cat'].'">'.$rij['titel'].'</a> door <b><a href="profiel.php?user='. $rij['naam']. '">'. $rij['naam'] .'</a></b> ('.$msg.')<br />';
  38. }
  39. }else{
  40. echo 'Niks gevonden <a href="zoek.php">Terug</a>';
  41. }
  42. }else{
  43. if($_POST['in'] = 'bericht'){
  44. $sql2 = "SELECT * FROM topics WHERE bericht LIKE '%".$_POST['zoek']."%'";
  45. $query2 = mysql_query($sql2);
  46. if(mysql_num_rows($query2) > 0){
  47. while ($rij2 = mysql_fetch_array($query2))
  48. {
  49. $nsql2 = "SELECT tid FROM replys WHERE tid = '" . $rij2['id'] . "'";
  50. $nres2 = mysql_query($nsql2);
  51. $msg2 = mysql_num_rows($nres2);
  52. echo '<a href="replys.php?id=' . $rij2['id'] . '&cat='.$rij2['cat'].'">'.$rij2['titel'].'</a> door <b><a href="profiel.php?user='. $rij2['naam']. '">'. $rij2['naam'] .'</a></b> ('.$msg2.') <br />';
  53. }
  54. }else{
  55. echo 'Niks gevonden <a href="zoek.php">Terug</a>';
  56. }
  57. }else{ echo '<a herf="zoek.php">Terug</a>'; }
  58. }
  59. }
  60. }else{
  61. ?>
  62. <form method="post" action="zoek.php">
  63. <table>
  64. <tr>
  65. <td>Zoeken in: </td><td><select name="in"><option value="all" selected>In titel en bericht</option><option value="titel">Alleen in titel</option><option value="bericht">Alleen in bericht</option></select></td>
  66. </tr>
  67. <tr>
  68. <td>Zoeken naar: </td><td><input type="text" name="zoek" /></td>
  69. </tr>
  70. <tr>
  71. <td></td><td><input type="submit" name="submit" value="Zoek" /></td>
  72. </tr>
  73. </table>
  74. </form>
  75. <?
  76. }
  77. ?>
Offline Wim - 30/01/2009 17:37
Avatar van Wim Crew algemeen voor dergelijke zoekfuncties ben je mss meer met dit:

http://www.site...ext_Search
Offline JBke - 30/01/2009 20:00
Avatar van JBke PHP gevorderde gebruik in plaats van de = LIKE en de % tekens voor en/of achter je Search_string je query is dan zoiets als .... AND field LIKE '%'.$search_string.'%'
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.438s