Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyszukiwarka na stronie
Forum PHP.pl > Forum > Przedszkole
badowl
Witam. Staram się napisać wyszukiwarkę która wyszuka w bazie danych pośród tytułów i artykułów żądaną frazę.
  1. <form method="get" action="<?=$_SERVER['PHP_SELF']?>">
  2. <input type="text" name="word" />
  3. <input type="submit" value="Szukaj" />
  4. </form>
  5. <?php
  6. mysql_connect("localhost", "user", "password") or die(mysql_error());
  7. $keyword = $_GET['word'];
  8. $keyword = trim($keyword);
  9. print "Wyniki wyszukiwania";
  10. $sql = "SELECT title, article FROM tresc WHERE title LIKE $keyword OR article LIKE $keyword";
  11. $result = mysql_query($sql) or die(mysql_error());
  12. while ($row = mysql_fetch_assoc($result)){
  13. print '<a href="wynik.php?id=$row[id]">row[title]</a>';
  14. }
  15. if(mysql_num_rows($result)==0){
  16. print "Brak wynikow!";
  17. }
  18. ?>



Po otworzeniu strony wyświetla się błąd:
"Notice: Undefined index: word in C:\xampp\htdocs\kurs\szukaj.php on line 15
Wyniki wyszukiwaniaYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR article LIKE' at line 1"

Po wpisaniu słowa które chcę wyszukać wyświetla się:
"Unknown column 'slowo' in 'where clause'"

W czym tkwi problem?
Psajkus
"Notice: Undefined index: word in C:\xampp\htdocs\kurs\szukaj.php on line 15 a co w tym nie jest jasne?

jak nie przesyłasz zmiennej word to wywala Ci błąd. daj:
  1.  
  2. $keyword = '';
  3. if(isset($_GET['word']) {
  4. $keyword = trim(strip_tags($_GET['word']));


i będzie gitara;

Co do tego komunikatu "Unknown column 'slowo' in 'where clause'" to w tabeli nie istynieje kolumna i nazwie 'slowo'.
badowl
Teraz sie wyświetla:
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR article LIKE' at line 1" ;/

Sam do tego doszedłem smile.gif Oto gotowy kod. Może komuś się przyda.
  1. <form method="get" action="<?=$_SERVER['PHP_SELF']?>">
  2. <input type="text" name="word" />
  3. <input type="submit" name="submit" value="Szukaj" />
  4. </form>
  5. <?php
  6. if (isset($_GET['submit'])){
  7. mysql_connect('localhost', 'user', 'password') or die(mysql_error());
  8. $keyword = "";
  9. if(isset($_GET['word'])) {
  10. $keyword = $_GET['word'];
  11. }
  12. print "Wyniki wyszukiwania";
  13. $sql = "SELECT * FROM tabela WHERE title LIKE '%$keyword%' OR article LIKE '%$keyword%'";
  14. $result = mysql_query($sql) or die(mysql_error());
  15. while ($row = mysql_fetch_assoc($result)){
  16. print '<br /><a href="szukaj.php?id='
  17. . $row['id'] . '">'
  18. . $row['title'] . '</a>';
  19. }
  20. if(mysql_num_rows($result)==0){
  21. print "Brak wynikow!";
  22. }
  23. }
  24. else{
  25. print "Wpisz slowo które chcesz wyszukac.";
  26. }
  27. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.