Задать вопрос
@dk-web

PHP обработка html формы или составление сложного запроса?

Наконец то руки дошли до одного старого проекта... конечно после последних месяцев изучения MVC, ООП взглянул на тот код с улыбкой, но, оказывается и тогда что-то да умел...
Теперь пытаюсь по максимуму уйти от Jquery.. И вот с чем столкнулся...

Возможно ли средствами PHP узнать тип поля формы? То есть как-то определить text, checkbox или select?
Какие можно дополнительные аттрибуты воткнуть, чтобы скушал PHP? а-ля data... Нужно в некоторых местах передавать больше чем просто value..
Или это все нужно забивать в БД?

И дабы не плодить вопросы, на посоветоваться...
Вот я создаю большой автоматизированный запрос - ... WHERE 1=1 и куча куча AND.
AND пока! формирую примерно так..
$sql="";
   foreach ($_POST as $key => $criteria) {
    $sql="AND $key".$criteria['select']['min'].$criteria['min']." AND $key".$criteria['select']['max'].$criteria['max'];
   }

Получается, что-то вроде:
... WHERE 1=1 AND po>=100 AND po<1000

Но проблема заключается в том, что данные берутся из разных таблиц посредством JOIN
Например:
SELECT * FROM geo_base as a INNER JOIN geo_data as b ON a.id=b.id WHERE...

и тут подставляется склеенный AND.

Только вот индексов? то нет... а насколько я понимаю нужно писать индекс таблицы (не уверен, что это индексом называется).. то есть должно быть AND a.po или b.population..
Можно этого избежать?
Собственно как-то так...

п.с. установил Sublime 3 с рядом плагинов - крайне доволен - скорость по сравнению с 2 несопоставима..
  • Вопрос задан
  • 147 просмотров
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@ndbn
Возможно ли средствами PHP узнать тип поля формы? То есть как-то определить text, checkbox или select?

Типы, хорошо бы, чтобы знал как раз сервер, иначе как проверять введённые данные.
Часто встречается, если ожидается, что введённое поле должно содержать число, оно оборачивается в intval($val), либо фильтруется через filter_input()/filter_val().
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы