С одним LIKE все работает нормально Код (Text): $rs = mysql_query("SELECT * FROM base WHERE city='".$cityname."' AND deleted != 'yes' AND text LIKE '%".$_GET['poisk']."%' order by id desc"); Если добавляю три LIKE, то перестает работать переменная CITY Код (Text): $rs = mysql_query("SELECT * FROM base WHERE city='".$cityname."' AND deleted != 'yes' AND text LIKE '%".$_GET['poisk']."%' OR tel LIKE '%".$_GET['poisk']."%' OR title LIKE '%".$_GET['poisk']."%' order by id desc"); Где ошибка?? КаК наладить, помогите плиз
не только сити. логика: А и Б и В или Г или Д. всё это условие истинно либо для истинных АБВ (и любых значений Г/Д) либо для любой истины из Г или Д. таким образом не важно город это (А) или "не удалено" (Б) оно не будет иметь никакого фильтрующего значения в момент когда есть совпадения по тексту/телу(телефону?)/заголовку. учите алгебру логики если вы хотите на выбор оставить одно из совпадений по тексту или телефону или заголовку (любое из! два из! или все из трех!) и при этом важно совпадение по первым двум критериям то вам надо сделать такую конструкцию: А и Б и (В или Г или Д)
все работает как надо, вот результат : Код (Text): $rs = mysql_query("(SELECT * FROM base WHERE city='".$cityname."' AND deleted != 'yes' AND text LIKE '%".$_GET['poisk']."%' order by id desc) UNION (SELECT * FROM base WHERE city='".$cityname."' AND deleted != 'yes' AND tel LIKE '%".$_GET['poisk']."%' order by id desc) UNION (SELECT * FROM base WHERE city='".$cityname."' AND deleted != 'yes' AND title LIKE '%".$_GET['poisk']."%' order by id desc) order by id desc");
До чего "студенты" НЕ ленивые пошли - вместо того, чтобы пару скобочек поставить, они будут портянку из UNION строчить.