
staram się zrobić wyszukiwarkę i mam problem z napisaniem zapytania które znajdowałoby określone wyrażenie (w tym przypadku nazwę telefonu np. "nokia" albo "3210") w kilku tabelach.
Mam następujące tabele:
adaptory, akumulatorki, anteny, anteny_w, bluetooth, ... itd
tabele mają taka samą strukturę, w bazie wyglądają następująco:
[sql:1:055e26575d]CREATE TABLE adaptory (
Lp INTEGER AUTO_INCREMENT PRIMARY KEY DEFAULT 1 NOT NULL,
nazwa VARCHAR(80),
cena_h_n DOUBLE(4,2),
cena_h_b DOUBLE(4,2),
cena_d_n DOUBLE(4,2),
cena_d DOUBLE(4,2),
zdjecie VARCHAR(30),
opis TEXT,
data DATE)[/sql:1:055e26575d]
wszystkie zapisane w tablicy $akcesoria w następujący sposób:
[php:1:055e26575d]<?php
$akcesoria['Adaptory dual-SIM'] = 'adaptory';
$akcesoria['Akumulatorki Li-ion i ni-mh'] = 'akumulatorki';
$akcesoria['Anteny'] = 'anteny';
$akcesoria['Antenki wymienne'] = 'anteny_w';
// i tak dalej...
?>[/php:1:055e26575d]
teraz buduję zapytanie szukające ile jest wystąpień wartości zmiennej $wht w tabeli w polu nazwa
[php:1:055e26575d]<?php
// Otwarcie polaczenia z baza danych
$link = dbConnect();
echo implode(", ",$akcesoria);
// pytam ile jest produktow
$query = "SELECT count(*) FROM akumulatorki where nazwa like "%" . $wht . "%"";
$result = @mysql_query($query);
list($ile_rekordow) = @mysql_fetch_row($result);
?>[/php:1:055e26575d]
Problem polega na tym że niestety tych tabel jest kilkanaście i nie potrafię napisać takiego zapytania któro obsłużyłoby je wszystkie za jednym razem. Jedyne co udało mi się wykombinować po przeczytaniu kilku wątków na tym forum to:
[sql:1:055e26575d]SELECT adaptory.nazwa as 'aa', akumulatorki.nazwa as 'ab' FROM adaptory, akumulatorki where akumulatorki.nazwa like "%nokia%" AND adaptory.nazwa like "%nokia%"[/sql:1:055e26575d]
też mi się to przyda ale w tym momencie potrzebuję count'a, a jak wstawiam count zamiast nazwy to nie działa...
proszę pomóżcie
pozdrawiam