Witam,

zrobiłem wyszukiwarkę do zamówień w sklepie internetowym...

Wszystko działa ok dla warunku z 3 tabel.
Dotyczy tabel orders, orders_total, orders_status - wyświetlenie zamówień dla wyszukiwania po nazwie klienta, nazwie firmy ...

 
if(isset($HTTP_GET_VARS['search_where']) && $HTTP_GET_VARS['search_where'] == 'klient' ){
 
$orders_query_raw = "select o.orders_id, o.invoice_nr, o.customers_id, o.customers_name, o.customers_company, o.customer_service_id, o.customers_id, o.payment_method, o.zaplacone, o.eksport_schenker, o.eksport_subiekt, o.date_purchased, o.purchased_without_account, o.last_modified, o.currency, o.currency_value, o.import_allegro, s.orders_status_name, ot.value, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' and (o.customers_name like '%". $search_orders ."%' or o.customers_company like '%". $search_orders ."%' or o.delivery_name like '%". $search_orders ."%' or o.delivery_company like '%". $search_orders ."%' or o.billing_company like '%". $search_orders ."%')  order by orders_id DESC";
 
}

Produkty do danego zamówienia przechowywane są w tabeli orders_products (po kilka produktów do 1 zamówienia)
Próbuje zrobić wyszukiwanie zamówień również po nazwie produktu zamówionego

Oto jeden z moich pomysłów:

if(isset($HTTP_GET_VARS['search_where']) && $HTTP_GET_VARS['search_where'] == 'produkt' ){
 
$orders_query_raw = "select o.orders_id, o.invoice_nr, o.customers_id, o.customers_name, o.customers_company, o.customer_service_id, o.customers_id, o.payment_method, o.zaplacone, o.eksport_schenker, o.eksport_subiekt, o.date_purchased, o.purchased_without_account, o.last_modified, o.currency, o.currency_value, o.import_allegro, s.orders_status_name, ot.value, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s," . TABLE_ORDERS_PRODUCTS . "op where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' and (op.products_model like '%". $search_orders ."%' )  order by orders_id DESC";
 
}
 

Kombinowałem już z wstawieniem kolejnej czwartej tabeli do tego zapytania na różne sposoby ale ciągle mysql wywala błędy.
Próbowałem metod join. inner join, left join ... niestety nie wiem jak się za to zabrać.

Ma ktoś może jakiś pomysł ? Jakąś wskazówkę?