login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Livesearch met gegevens uit database

Offline timo - 09/03/2006 15:42
Avatar van timoPHP ver gevorderde ik probeer adhv nemeniskoen's tut een search functie met gegevens uit mijn database te maken, ik krijg een error bij het zoeken...:
Citaat:
Warning: Invalid argument supplied for foreach() in C:apachefriendsxampphtdocsforumsearch.php on line 19

mijn code:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title></title>
  6. </head>
  7. <body>
  8. <?php
  9. error_reporting(E_ALL | E_STRICT);
  10. $connect['host'] = "localhost";
  11. $connect['user'] = "root";
  12. $connect['pass'] = "";
  13. $connect['db'] = "forum";
  14. mysql_connect($connect['host'],$connect['user'],$connect['pass']) OR die("Er trad een fout op bij het verbinden met de mysql server!<br />".mysql_error());
  15. mysql_select_db($connect['db']) OR die("Er trad een fout op bij het selecteren van de database!<br />".mysql_error());
  16. $query1 = mysql_query("SELECT topicnaam,topicinhoud,starter FROM forum_topics") OR die(mysql_error());
  17. $query2 = mysql_query("SELECT poster,inhoud FROM forum_posts") OR die(mysql_error());
  18. $result = mysql_fetch_array($query1, MYSQL_NUM).mysql_fetch_array($query2, MYSQL_NUM);
  19. foreach($result as $v) {
  20. if(strstr($v, $_GET['zoek'])) {
  21. echo '<a href="#">'. $v .'</a><br />';
  22. }
  23. }
  24. ?>
  25. </body>
  26. </html>

3 antwoorden

Gesponsorde links
Offline Scott - 09/03/2006 16:45
Avatar van Scott Gouden medaille

PHP ver gevorderde
$result = array_merge(mysql_fetch_array($query1, MYSQL_NUM), mysql_fetch_array($query2, MYSQL_NUM));
Offline timo - 09/03/2006 17:12 (laatste wijziging 09/03/2006 17:20)
Avatar van timo PHP ver gevorderde opgelost... $query2 leverde niets op... heb om dit op te lossen er iets omheen gebouwd... script werd:
  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title></title>
  5. </head>
  6. <body>
  7. <?php
  8. error_reporting(E_ALL | E_STRICT);
  9. $connect['host'] = "localhost";
  10. $connect['user'] = "root";
  11. $connect['pass'] = "";
  12. $connect['db'] = "forum";
  13. mysql_connect($connect['host'],$connect['user'],$connect['pass']) OR die("Er trad een fout op bij het verbinden met de mysql server!<br />".mysql_error());
  14. mysql_select_db($connect['db']) OR die("Er trad een fout op bij het selecteren van de database!<br />".mysql_error());
  15. $query1 = mysql_query("SELECT topicnaam,topicinhoud,starter FROM forum_topics") OR die(mysql_error());
  16. $query2 = mysql_query("SELECT poster,inhoud FROM forum_posts") OR die(mysql_error());
  17. $a = mysql_fetch_array($query1, MYSQL_NUM);
  18. if(mysql_num_rows($query2) >0)
  19. {
  20. $b = mysql_fetch_array($query2, MYSQL_NUM);
  21. }
  22. else
  23. {
  24. $b = array();
  25. }
  26. $result = array_merge($a,$b);
  27. foreach($result as $v) {
  28. // if(strstr($v, $_GET['zoek'])) {
  29. echo '<a href="#">'. $v .'</a><br />';
  30. // }
  31. }
  32. ?>
  33. </body>
  34. </html>

EDIT: heb nu alleen prob dat hij niet zoekt.... hij weergeeft gwn alle resultaten die in de db zijn gevonden ... hoe is dit op te lossen?

EDIT2: bovenstaande opgelost... had die strstr($_GET['zoek']) weggelaten... weer terug en is opgelost...
Offline nemesiskoen - 09/03/2006 19:30
Avatar van nemesiskoen Gouden medaille

PHP expert
Euhm, je kan hier beter van gebruik maken _binnen_ je query. Zo haal je geen onnodige resultaten op. Bovenstaand voorbeeld is goed voor als je met een array van gegevens werkt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.211s