Интересует именно последняя строка. При её отсутствии поисковик работает корректно. С ней же он ищет и достает инфу только по ценовому диапазону, игнорируя что там введено еще куча других параметров поиска. Какой то бред, кто шарит прошу помочь.
SELECT
cliente.nombre as cn,
cliente.apellido as ca,
cliente.DNI as cd,
disfraz.clase as dc,
disfraz.disfraz as dd,
disfraz.talle as dt,
alquiler.preciototal as ap
FROM alquiler
INNER JOIN cliente ON cliente.idcliente = alquiler.clientefk
INNER JOIN disfraz ON disfraz.iddisfraz = alquiler.disfrazfk
WHERE (cliente.nombre LIKE '%$nombre%')
AND (cliente.apellido LIKE '%$apellido%')
AND (cliente.DNI LIKE '%$dni%')
AND (disfraz.clase LIKE '%$clase%')
AND (disfraz.disfraz LIKE '%$disfraz%')
AND (disfraz.talle LIKE '%$talle%')
AND (alquiler.preciototal BETWEEN '$prcmin' AND '$prcmax'
SELECT
cliente.nombre as cn,
cliente.apellido as ca,
cliente.DNI as cd,
disfraz.clase as dc,
disfraz.disfraz as dd,
disfraz.talle as dt,
alquiler.preciototal as ap
FROM alquiler
INNER JOIN cliente ON cliente.idcliente = alquiler.clientefk
INNER JOIN disfraz ON disfraz.iddisfraz = alquiler.disfrazfk
WHERE
(cliente.nombre LIKE '%$nombre%' AND
(cliente.apellido LIKE '%$apellido%' AND
(cliente.DNI LIKE '%$dni%' AND
(disfraz.clase LIKE '%$clase%' AND
(disfraz.disfraz LIKE '%$disfraz%' AND
(disfraz.talle LIKE '%$talle%' AND
(
(alquiler.preciototal BETWEEN '$prcmin' AND '$prcmax' OR
('$prcmin' = '' AND '$prcmax' = ''
);
Судя по коду, условия перечислены через and, следовательно все должно работать и должны учитываться все условия. Обратите внимание на синтаксис, возможно где-то что то пропущено. Например я не вижу круглой закрывающей скобки в конце выражения.