Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] wyszukiwanie danych w kilku tabelach
Forum PHP.pl > Forum > Bazy danych
Apo
Witam,

Mam 3 tabele: articles, pictures, video.
Chcialem stworzyc wyszukiwarke która wyszuka w w.w tabelach frazy znajdujace sie w polach titile i content za pomoca LIKE.
W zwracanym wyniku chcialem miec mozliwosc odroznienia ktory wynik pochodzi z danej tabeli.

Probowalem tego za pomoca UNIONow oraz zwyklego selecta ale nie daje razy. Tabele w zaden sposob nie sa powiazane relacjami.

Z góry wielkie dzieki za pomoc
Apo
phpion
Spróbuj coś w tym stylu:
  1. SELECT 1, title, content FROM articles WHERE title LIKE '%x%' OR content LIKE '%x%'
  2. UNION
  3. SELECT 2, title, content FROM pictures WHERE title LIKE '%x%' OR content LIKE '%x%'
  4. UNION
  5. SELECT 3, title, content FROM video WHERE title LIKE '%x%' OR content LIKE '%x%';

Nie sprawdzałem ale spróbuj. Ewentualnie stwórz sobie widok łączący te 3 tabele i w nim przeszukuj. Na podstawie cyfr 1, 2, 3 zdiagnozujesz z jakiej tabeli pochodzi rekord.
osiris
  1. (SELECT 'tabela1' AS table_name, ...
  2. FROM tabela1 WHERE ...
  3. )
  4. UNION ALL
  5. (SELECT 'tabela2' AS table_name, ...
  6. FROM tabela2 WHERE ...
  7. )
  8. UNION ALL
  9. ...
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.