Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwarka słów - problem z SELECTEM
Forum PHP.pl > Forum > Bazy danych > MySQL
LubieWino
Mam baze forum, 2 tablice: 'pytania' i 'odpowiedzi'.
w 'pytanie' kazdy rekord ma inny, unikaly nr pytania 'nrpyt', natomiast w 'odpowiedzi' rekordy mogą miec taki sam nr pytania 'nrpyt' ktore są powiązane przez to z tablicą 'pytanie'.

To jasne.

Robie wyszukiwarke słów.

slowo (np 'korek)' jest szukane w rekordach tablicy 'pytanie' - jesli znalazlo slowo 'korek' w któryms rekordzie - zwraca mi jego nr pytania. jesli rekord w tablicy 'pytanie' nie ma slowa 'korek', wówczas w tablicy 'odpowiedzi', po tym samym numerze pytania 'nrpyt' szuka odpowiednich rekordów i sprawdza czy jest tam slowo 'korek' - jesli jest, zwraca numer pytania 'nrpyt'. i tak caly czas...

czy mozna stworzyc jakies selecta który bez problemu mi znajdzie numery pytan gdzie są te dane slowa?
najtje
zakładając że masz takie tabele
pytania (nrpyt int4 pk , pytanie varchar)
odpowiedzi (nrodp int4 pk, nrpyt int4 fk , odpowiedz varchar)
Najbardziej naiwne rozwiązanie jest takie:
  1. SELECT nrpyt FROM pytania AS p
  2. UNION
  3. SELECT nrpyt FROM odpowiedzi AS o
  4. WHERE p.pytanie ilike '%korek%' OR o.odpowiedz ilike '%korek%'


I to zwróci ci listę pytań w których odpowiedziach bądź treści tego pytania padło słowo 'korek'

Tutaj więcej o tym jak to powinno być tak naprawdę zaimplementowane: http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
LubieWino
widze ze to nie taka bajeczka te szukanie... ale... patrząc na twój powyższy przykład..

mając te numery pytań.... chciałbym z tabeli 'pytania' wyselekcjonować (odpowiednio do numerów pytań) takie dane: numer pytania, temat pytania, date, oraz nick (osoby która go napisała).

poniewaz tabela 'pytania' składa się między innymi właśnie z takich kolumn : nrpyt, temat, data, nick (aczkolwiek to nie wszystkie).

Można to jakoś zgrabnie napisać w jednym SELECTcie?
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.