login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Select * van tabel_1 JOIN tabel_2, Goed of Fout (Opgelost)

Offline willie - 05/12/2011 15:11 (laatste wijziging 05/12/2011 15:13)
Avatar van willie0 Het zoek script is eigenlijk al klaar,
maar ik wil hem toch nog uitbreiden zodat hij ook nog in een andere tabel kan zoeken.
Nou had ik gezocht naar een oplossing, en vond dit
  1. $sql = "SELECT naam, tekst FROM test1 JOIN test2 WHERE tekst LIKE '%".mysql_real_escape_string($_POST['zoekterm'])."%' OR naam LIKE '%".mysql_real_escape_string($_POST['zoekterm'])."%' ORDER BY id";
  2.  
  3. //-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen
  4. //-- kijken of er een resultaat is
  5. $res = mysql_query($sql);
  6.  
  7. //-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
  8. if (mysql_num_rows($res) >= 1)
  9. {
  10. //-- er is een resultaat gevonden, toon de resultaten via een while () loop
  11. while ($row = mysql_fetch_array($res))
  12. {
  13. $tekst = nl2br($row['tekst']);
  14. echo '
  15. titel : '.$row['naam'].'<br />
  16. '.$tekst.'<br /><br />
  17. ';
  18.  
  19. }
  20.  
  21.  
  22. }

Maar dit werkt dus niet.
Ik krijg dus een fout melding.
  1. Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

Wat doe ikhier niet goed

3 antwoorden

Gesponsorde links
Offline vinTage - 05/12/2011 15:22 (laatste wijziging 05/12/2011 15:23)
Avatar van vinTage Nieuw lid Je zoekt nu niet in die andere tabel he (voor zover die query al klopt), maar pas deze 'tut' eens toe, dat is iets deftiger.
Eens je dat aan de gang hebt kun je ook in boolean gaan zoeken en meerdere woorden zoeken.
Offline Aar - 05/12/2011 21:13
Avatar van Aar PHP interesse Waarom pas je geen foutafhandeling toe aan je query? (en dan geen die()-foutafhandeling)
Kleine moeite, en je weet altijd precies waar de fout zit.
Bedankt door: willie
Offline willie - 07/12/2011 19:47
Avatar van willie 0 Ik kwam er niet helemaal uit.
Dus ben ik op het internet gaan zoeken.
En dit is mijn oplossing geworden,
  1. <?php
  2.  
  3. include "connect.php";
  4.  
  5. if ($_POST['zoekterm']) {
  6.  
  7. $zoekterm=$_POST['zoekterm'];
  8. $query1="SELECT * FROM `agenda` WHERE kop LIKE '%".mysql_real_escape_string($_POST['zoekterm'])."%' OR tekst LIKE '%".mysql_real_escape_string($_POST['zoekterm'])."%' OR linknaam LIKE '%".mysql_real_escape_string($_POST['zoekterm'])."%' OR waar LIKE '%".mysql_real_escape_string($_POST['zoekterm'])."%'";
  9. $query2="SELECT * FROM `pagina` WHERE tekst LIKE '%".mysql_real_escape_string($_POST['zoekterm'])."%'";
  10. $query3="SELECT * FROM `partner` WHERE tekst LIKE '%".mysql_real_escape_string($_POST['zoekterm'])."%' OR naam LIKE '%".mysql_real_escape_string($_POST['zoekterm'])."%'";
  11.  
  12. $sql1 = mysql_query($query1) or die (mysql_error());
  13. $aantal1=mysql_num_rows($sql1);
  14.  
  15. $sql2 = mysql_query($query2) or die (mysql_error());
  16. $aantal2=mysql_num_rows($sql2);
  17.  
  18. $sql3 = mysql_query($query3) or die (mysql_error());
  19. $aantal3=mysql_num_rows($sql3);
  20.  
  21. $aantal = $aantal1 + $aantal2 + $aantal3;
  22. if ($aantal1 == 0 AND $aantal2 == 0 AND $aantal3 == 0) {
  23. echo "Er zijn <B>geen</B> resultaten gevonden<br>";
  24. }
  25. else
  26. {
  27. echo "<b>$aantal items gevonden</b><br><br>";
  28.  
  29. while ($obj1 = mysql_fetch_object($sql1)) {
  30. echo "<a title='$obj1->kop' href=\"index.php?pagina=reviewagenda&amp;id=$obj1->id\">$_POST[zoekterm]</a><br>";
  31. }
  32. while ($obj2 = mysql_fetch_object($sql2)) {
  33. echo "<a title='$obj2->naam' href=\"index.php?pagina=reviewpagina&amp;id=$obj2->id\">$_POST[zoekterm]</a><br>";
  34. }
  35. while ($obj3 = mysql_fetch_object($sql3)) {
  36. echo "<a title='$obj3->link' href=\"index.php?pagina=reviewpartner&amp;id=$obj3->id\">$_POST[zoekterm]</a><br>";
  37. }
  38. }
  39. }
  40. ?>
  41. <form action="<? $_SERVER['PHP_SELF'] ?>" method="post">
  42. <table>
  43. <tr><td>zoekterm : </td><td><input type="text" name="zoekterm" /></td></tr>
  44. <tr><td></td><td><input type="submit" name="verzenden" value="zoeken"/></td></tr>
  45. </table>
  46. </form>

Nu werkt het goed, dus kan ik in meerdere table's tegelijk zoeken.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.226s