Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] wyszukiwarka w bazie, w kilku tabelach
lukash82
post
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

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


Witam,

Próbuję ogarnąć zapytanie mysql do wyszukiwarki z bazy danych.

Mam taką strukturę w dużym uproszczeniu.

Tabela główna (Główna): ID / NAZWA / TREŚĆ

Tabela dodatkowa 1 (dodatkowa 1): ID / ID_ALL / COL 1 / COL 2...
Tabela dodatkowa 2 (dodatkowa 2): ID / ID_ALL / COL 1 / COL 2...

Powiązane są ze sobą Główna ID = dodatkowa 1/2 ID_ALL

Mam nadzieję, że jasno to opisałem.

I teraz wyszukuję w tabeli głównej zadanego ciągu z wyszukiwarki (zakładam np. 3-wyrazową frazę):

  1. "SELECT * FROM glowna WHERE tresc LIKE '%".$slowo[0]."%' OR tresc LIKE '%".$slowo[1]."%' OR tresc LIKE '%".$slowo[2]."%'"


I to działa dobrze.

Jednak chciałbym powiązać wyszukiwane wyniki z tymi dodatkowymi tabelami. Kontynuując zakładam dalej 3-wyrazową frazę:

  1. "SELECT * FROM glowna A, dodatkowa1 B, dodatkowa2 C WHERE (A.tresc LIKE '%".$slowo[0]."%' OR A.tresc LIKE '%".$slowo[1]."%' OR A.tresc LIKE '%".$slowo[2]."%') AND A.id=B.id_all AND A.id=C.id_all"


Podejrzewam, że jest jakiś byk w tym zapytaniu ale nie bardzo wiem gdzie. Pewnie coś pochrzaniłem z tymi operatorami OR LIKE i nawiasami... No chyba, że ogólnie źle sobie to wymyśliłem. Jeśli może mnie ktoś naprowadzić na jakieś rozwiązanie to proszę bardzo. Pozdrawiam, Ł


Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 22.08.2025 - 20:52