Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyszukiwarka, ...jak?
gosciu99
post 24.01.2005, 07:28:16
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 19.06.2004

Ostrzeżenie: (0%)
-----


Jak napisać wyszukiwarkę zawartości, wyszukującą zawartość kilku tabel



Czyli tak użytkownik wpisuje jakieś hasło skrypt wyszukuje zawartość bazy danych jak znalazł jakiś rekord to sprawdza id rekordu wyświetla tytuł poprzedzony przedrostkiem np. [news] dla newsów po przedrostku tytuł jako link do www.strona.com/news.php?id=x gdzie x to wcześniej sprawdzony id rekordu.

Jak takie coś napisać w php/mysql?
Go to the top of the page
+Quote Post
Vertical
post 24.01.2005, 18:26:49
Post #2





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Proponowałbym w tabeli stworzyć oddzielny rekord 'typ' i w nim określać czy jest to news czy coś innego, a następnie napisać skrypt:
  1. <?php
  2. $db = mysql_connect(&#092;"host\", \"user\", \"haslo\");
  3. mysql_select_db(&#092;"baza\", $db);
  4. $result = mysql_query(&#092;"SELECT * FROM tabela1, tabela2... WHERE tabela1.kolumna1, tabela2.kolumna2.
    .
  5.  LIKE '%zmienna%');
  6. while ( $row = mysql_fetch_array ( $result ) )
  7. {
  8. printf(&#092;"<a href = /'http://strona.pl?id=%s/'>[%s]%s</a>\", $row[id], $row['typ'], $row['tytul']);
  9. }
  10. ?>

Skrypt będzie wyświetlał typ tematu oraz jego tytuł w zależnaści od zmiennej podanej w adresie i tworzył linka w zależności od id podanego w bazie

Ten post edytował Vertical 24.01.2005, 18:30:42
Go to the top of the page
+Quote Post
gosciu99
post 27.01.2005, 17:18:44
Post #3





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 19.06.2004

Ostrzeżenie: (0%)
-----


I to jest pewnie plik z wynikami wyszukiwania a jak zrobić formularz do wpisania tego co szukam?
Go to the top of the page
+Quote Post
stoprocent
post 27.01.2005, 17:25:03
Post #4





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 17.05.2003
Skąd: Kraków , Londyn

Ostrzeżenie: (0%)
-----


Boze lenistwo ludzi top mnie czas przeraza exclamation.gif! mad.gif
W zapyatniu powyzej masz wpisane cos takiego jak %zmienna% i tam podajesz swoja zmienna np.
  1. <?php
  2. $result = mysql_query(&#092;"SELECT * FROM tabela1, tabela2... WHERE tabela1.kolumna1, tabela2.kolumna2.
    .
  3.  LIKE '%\".$_POST['szukaj'].\"%' \");
  4. ?>

Cala filozofia robisz sobie standartowy forumlaz z odwolaniem do tej strony w ktrej to zawrzesz i tyle , ale ze ci sie nie chcialoposzukac .... Bo po co.


--------------------
Go to the top of the page
+Quote Post
patigo
post 25.02.2005, 12:01:47
Post #5





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 4.02.2005

Ostrzeżenie: (0%)
-----


A co będzie gdy, dane pole w tabeli będzie powiedzmy tekstem składającym się ze 100 słów? Czy wówczas też bedzie działać??
Go to the top of the page
+Quote Post
reemii
post 25.02.2005, 12:05:36
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 2.02.2005

Ostrzeżenie: (0%)
-----


Może przeglądnij sobie jakiś tutorial dotyczący SQL'a. Jak masz LIKE to wynik wyszukiwania zwraca ci te rekordy gdzie występuje podany ciąg znaków, nie ważne czy jest tam jedno, 10, 100 czy 10000 słów.
Go to the top of the page
+Quote Post
-Wieviór-
post 25.02.2005, 21:23:02
Post #7





Goście







Patigo, jak chcesz by ludzie nie wyszukiwali dużych ilości to zrób po prostu Label(input) z ograniczeniem do powiedzmy 25 znaków, albo jak jesteś bardzo wymagający to zrób sobie skrypt, który policzy Ci ile razy spacja występuje w danej wartości i dodaj jeden, wyjdzie Ci liczba słów tongue.gif
Go to the top of the page
+Quote Post
Coyote
post 26.02.2005, 11:28:00
Post #8





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


hehe ludzie to leniuchy... wystarczy troche poszukac a nie od razu topic zakladac...


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 08:26