Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Делаю поиск, хелп
Форумы портала PHP.SU » » Вопросы новичков » Делаю поиск, хелп

Страниц (1): [1]
 

1. event - 10 Июня, 2012 - 19:31:34 - перейти к сообщению
Привет всем. Улыбка
Делаю поиск, формочку сделал, обработчик тоже сделал, вот перешел к составлению самого запроса, вот кусок кода:
PHP:
скопировать код в буфер обмена
  1. function emptyWhere() {
  2.      static $where;
  3.      $where = empty($where) ? 'WHERE ' : ' AND';
  4.      return $where;
  5. }
  6.  
  7. function sqlwildcardesc($x) {
  8.         return str_replace(array("%","_"), array("\\%","\\_"), mysql_real_escape_string($x));
  9. }
  10.  
  11. $takereg['21'] = htmlspecialchars($_POST['accounting']); //Где состоите на учете
  12. $where .= !empty($takereg['21']) ? emptyWhere().' `accounting` LIKE "%'.sqlwildcardesc($takereg['21']).'%" ' : "";
  13.  
  14. if ($_POST['violation_3'] == 'yes'){
  15.         $where .= "`violation_3` = 'yes'";
  16. }else{
  17.     $where .= "`violation_3` = 'no'";
  18. }
  19.  
  20.  


Ну вот как видите сверху вот так я составляю кусок запроса когда заполнено простое поле input, а как составить когда идет меджу yes no, то есть как сделать если отмечено yes то WHERE `violation_3` = 'yes', а если no то вообще ничего не добавляем в запрос.
(Добавление)
Все, вот так, вроде работает: $where .= ($_POST['violation_1'] == "yes") ? emptyWhere().' `violation_1` = "yes" ' : "";

 

Powered by ExBB FM 1.0 RC1