Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z wyszukiwarka MYSQL
Forum PHP.pl > Forum > Przedszkole
-gornik-
Witam, mam pewien problem z wyświetlaniem linku z wyniku wyszukiwania
  1. <?php
  2.  
  3. // program wyszukiwarki - search.php
  4. // wyswietlenie naglówka
  5. echo'<h2>Wyniki wyszukiwania</h2>';
  6. // usuniecie niepotrzebnych bialych znaków
  7. $_POST['phrase']=trim($_POST['phrase']);
  8. // sprawdzenie, czy uzytkownik wpisal dane
  9. echo ($_POST['phrase']);
  10. if(empty($_POST['phrase']))
  11. // jesli nie, to wyswietl komunikat i zakoncz dzialanie skryptu
  12. die('Formularz wypelniony niepoprawnie! Nie mozna wyswietlic wyników wyszukiwania!');
  13. // jesli jednak dane sa wpisane poprawnie
  14. else
  15. {
  16. // polaczenie z baza danych, NIE ZAPOMINJ USTAWIC WLASNYCH DANYCH!
  17. $base = mysql_connect("DBHOST", "DBLOGIN", "DBHASŁO") or die ("Nie masz uprawnien");
  18. mysql_select_db("DBDATABASE",$base);
  19. // skonstruowanie zapytania
  20. // zwróc uwage na operator Like - to on jest sercem calej aplikacji. Pozwala wyszukac dany ciag w bazie danych
  21. // jak zapewne zauwazyles, przed fraza i po niej umieszczam znaki procenta %
  22. // ten znak symbolizuje dowolny inny ciag znaków, wiec jest niezbedny do skutecznego wyszukiwania
  23. // polaczenie operatorem Or pozwala na wyszukiwanie danego ciagu zarówno w nazwie, jak i opisie produktu
  24. // UWAGA! Tutaj tez nie zapomnij ustawic swoich danych!
  25. $query= 'Select name From demot Where name Like "%' . $_POST['phrase'] . '%"';
  26. // wyslanie zapytania do bazy danych
  27. $result=mysql_query($query);
  28. // ustalenie ilosci wyszukanych obiektów
  29. $obAmount=mysql_num_rows($result);
  30. // wyswietlenie ilosci wyszukanych obiektów
  31. echo'Znaleziono: '.$obAmount.'<br /><br />';
  32. // wyswietlenie wyników w petli
  33. for($x=0;$x<$obAmount;$x++)
  34. {
  35. // przeksztalcenie danych na tablice
  36. $row=mysql_fetch_assoc($result);
  37. // wyswietlenie numeru identyfikacyjnego
  38. echo $x+1;
  39. echo '. ';
  40. // wyswietlenie nazwy produktu
  41. echo "<a href=\"http://nazwastrony.pl/show,'.$TUTAJMUSIBYCID.',$row[name].html\">".$row[name]."</a>";
  42. echo'<br />';
  43. }
  44. }
  45. // zamkniecie polaczenia
  46. mysql_close($base);
  47. // koniec aplikacji
  48. ?>


A więc tak mam prostą wyszukiwareczke z mysql która wyszukuje mi rekordy z bazy mysql wszystko pięknie ładnie szuka lecz w wyświetlanych rekordach wyswietla mi

<A href="http://nazwastrony.pl/show,Nazwa-Dodanego-Rekordu.html"> ( W linktu jest tylko wyswietlana zawartosc pola name z tabeli demot
a potrzebuje zeby wyszukiwarka wyświetlała mi coś takiego:
<a href="http://nazwastrony.pl/show,1,Pierwszy-Rekord.html"> ( Gdzie 1 to pole d_id w tabeli demot przypisane do danego rekordu )

Głowie się z tym już dobre 2 godziny, nie potrafie dobrac odpowiedniej frazy w google aby wyszukac problemu. Może tutaj znajde fachowca smile.gif Pozdrawiam
acztery
W zapytaniu masz:

  1. $query= 'Select name From demot Where name Like "%' . $_POST['phrase'] . '%"';


powinno być np


  1. $query= 'Select name,id From demot Where name Like "%' . $_POST['phrase'] . '%"';



wtedy $row[id] pokaże ci id (rzecz jasna id to nazwa kolumny z id)
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.