не могу правильно, корректно и с мозгом сформировать запросы из формы в скрипт На данный момент всё работает при условии что все поля в форме заполнены и все галочки checkbox стоят нужно сделать их независимыми друг от друга и с проверкой на заполнение т.е. если не заполнено, то не учитывать. знаю идет это через функцию if(isset($_POST['***'])) но правильно прикрутить её не могу
Эта функция всего лишь проверяет пришел ли параметр '***' методом POST и выдает true если таковой имеется.
alxndr52, прикинь - я вкурсе... вроде так и написал только я его правильно применить не могу, а вот 2ю часть вопроса я хз как сделать
Вообще, isset в данном случае, мне кажется, несовсем то. Здесь больше подойдёт empty. PHP: `". empty($_POST['img'])?:$_POST['img'] ."` = '' OR
перестал работать запрос если раньше запрос работал при наличии всех галочек и текста, то щас никак PHP: // SQL-запрос:$q = mysql_query ("SELECT `name`, `path` FROM `".$_POST['table_db']."` WHERE `active` = 1 AND`". empty($_POST['pict'])?:$_POST['pict'] ."` = '' OR`". empty($_POST['img'])?:$_POST['img'] ."` = '' OR`". empty($_POST['pict_alt'])?:$_POST['pict_alt'] ."` = '' OR`". empty($_POST['img_alt'])?:$_POST['img_alt'] ."` = '' OR`". empty($_POST['rus_tpl'])?:$_POST['rus_tpl'] ."` = '' OR`". empty($_POST['eng_tpl'])?:$_POST['eng_tpl'] ."` = '' OR`desc` < ".$_POST['text1']." OR`tech` < ".$_POST['text2']."");
PHP: $q = mysql_query ("SELECT `name`, `path` FROM `".$_POST['table_db']."` WHERE `active` = 1 AND `` = '' OR <---------------------------------------- а так будет работать? `". empty($_POST['img'])?:$_POST['img'] ."` = '' OR `". empty($_POST['pict_alt'])?:$_POST['pict_alt'] ."` = '' OR `". empty($_POST['img_alt'])?:$_POST['img_alt'] ."` = '' OR `". empty($_POST['rus_tpl'])?:$_POST['rus_tpl'] ."` = '' OR `". empty($_POST['eng_tpl'])?:$_POST['eng_tpl'] ."` = '' OR `desc` < ".$_POST['text1']." OR `tech` < ".$_POST['text2'].""); Зачем проверять наличие параметра еси при его отсутствии будет выведено empty($_POST['img'])?:$_POST['img'] вот это `` = '' OR и что должен искать sql возможно ненравится ?: попробуй так ? :
тож самое... срабатывают только echo смысл такой.... если какой то из этих параметров (те что чекбоксы, не текст) пустой (в базе они именно пустые или "знаки", а не null \ 0 и т.д.) то должно выводить name (имя) и path(ссылка) параметры текста (`desc` < ".$_POST['text1']." OR `tech` < ".$_POST['text2']."");) проверяются на количество знаков (в базе поля пустые или есть "знаки") общий смысл пост запросов, сам по себе скрипт работает , первоначальном виде и выводит информацию...проверяя её при этом по всем пунктам, а мне нужно чтоб была возможность проверять те пункты которые я хочу , т.е. только по img или img + pict_alt или desc , вообщем чтоб любая компоновка запроса была неизменна только одна часть SELECT `name`, `path` FROM `".$_POST['table_db']."` WHERE `active` = 1 AND
такой вариант не прокатит PHP: $q = "SELECT `name`, `path` FROM `".$_POST['table_db']."` WHERE `active` = 1 AND "; if (empty($_POST['img'])) { $q = $q.$_POST['img']."` = '' OR";} Здесь остальные IF $sql = mysql_query ($q);
как не прокатит и как попробовать? з.ы. попробовал заменить весь запрос на то что ты написал, не сработало (параметры img менял на другие)
PHP: $q = "SELECT `name`, `path` FROM `".$_POST['table_db']."` WHERE `active` = 1 AND "; if (empty($_POST['img'])) { $q = $q.$_POST['img']."` = '' OR";} echo $q; что выдаст echo
PHP: $q = "SELECT `name`, `path` FROM `".$_POST['table_db']."` WHERE `active` = 1 AND "; if (!empty($_POST['img'])) { $q = $q.$_POST['img']."` = '' OR";} echo $q; Я на косячил Возвращаемые значения Возвращает FALSE, если var содержит непустое и ненулевое значение. Следующие значения воспринимаются как пустые: "" (пустая строка) 0 (целое число) 0.0 (дробное число) "0" (строка) NULL FALSE array() (пустой массив) var $var; (переменная объявлена, но не имеет значения в классе)
SELECT `name`, `path` FROM `seriya` WHERE `active` = 1 AND img` = '' OR --- добавлено: 7 фев 2013 в 14:22 --- добавил чутка { $q = $q."`".$_POST['img']."` = '' OR";}
PHP: foreach ($_POST as $key=>$item){$where .= " OR " . $key . "='" . $item . "'"} $q = "SELECT `name`, `path` FROM `seriya` WHERE `active` = 1 " . $where;
saxum2010, можешь пояснить? з.ы. `active` = 1 обязательно, так что после него AND --- добавлено: 7 фев 2013 в 16:54 --- чтот не работает система, пытался значи доставить, но всё= не катит
а мой вариант не пробовал PHP: $q = "SELECT `name`, `path` FROM `".$_POST['table_db']."` WHERE `active` = 1 AND "; if (!empty($_POST['img'])) { $q = $q.$_POST['img']."` = '' OR";} echo $q;