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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Помогите написать универсальный sql запрос
Покинул форум
Сообщений всего: 455
Дата рег-ции: Март 2011
Помог: 3 раз(а)
Есть массив $_POST;
он может быть как и пустым так и иметь 4 элемента:
1. $_POST['data'];
2. $_POST['sum'];
3. $_POST['function'];
4. $_POST['class'];
скажите как мне написать универсальный sql запрос чтобы если:
1. Массив пуст, то выбираем все уникальные элементы;
2. Если значение какого либо элемента = 1, то условие WHERE для этого элемента игнорируется;
То есть допустим массив $_POST у нас такой:
$_POST['data'] = '31 май 2011';
$_POST['sum'] = '100';
$sql="SELECT DISTINCT * WHERE date = '".$_POST['date']."' AND sum = '".$_POST['sum']."' AND function = '".$_POST['function']."' AND class = '".$_POST['class']."'";
И еще совет - не используйте имена или служебные слова MySQL для именования чего-либо, это может привести к неожиданным результатам.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
jonston
Отправлено: 30 Мая, 2011 - 13:04:48
Посетитель
Покинул форум
Сообщений всего: 455
Дата рег-ции: Март 2011
Помог: 3 раз(а)
EuGen пишет:
И еще совет - не используйте имена или служебные слова MySQL для именования чего-либо, это может привести к неожиданным результатам.
Имеется в виду 'function' и 'class'? хорошо!Но я взял их для примера.Так они у меня называются fClass и fFunction.И извиняюсь что не указал таблицу!
к стати я дополнил вопрос если что.Спасибо за ответ!)
----- $i = 0;
$i = $i++ + ++$i; ?
EuGen
Отправлено: 30 Мая, 2011 - 13:06:54
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Имеется ввиду DATE и SUM
Для значений-единиц добавьте соответствующую проверку в каждое из условий, и все.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
jonston
Отправлено: 30 Мая, 2011 - 13:10:01
Посетитель
Покинул форум
Сообщений всего: 455
Дата рег-ции: Март 2011
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.