2015-03-26 3 views
0

Я использую «medoo» -php/mysql-класс (http://www.medoo.in) для моего последнего проекта. Мне нравится спокойный простой способ работать со своим SQL-материалом.Medoo php sql - изменить поисковый запрос

Но я задавался вопросом, можно ли изменить поисковый запрос в соответствии с опцией из формы ввода-выбора. Допустим, мы получили Поисково опцию «пользователя по имени», мы бы с:

$data = $database->select("account", [ 
"user_name", 
"user_id", 
"phone", 
"email", 
"age"], [ 
"user_name" => $_POST['user_name']]); 

Fine до сих пор. Теперь мы получаем опцию поиска «пользователя по ID». Все остальное остается одним и тем же. Поэтому мне нужно только

["user_name" => $_POST['user_name']]); 

быть как

["user_id" => $_POST['user_id']]); 

Есть ли способ, чтобы изменить это, не писать снова все заявления?

Это всего лишь пример. Более того, для моего проекта мне нужно будет изменить другие параметры запроса, например, обновление для вставки или различные варианты подключения. Но на данный момент я в порядке с ответом на это.

В любом случае, что вы думаете о Medoo-Class. Есть ли для меня классные альтернативные решения класса? В основном я знаю, как работать с SQL-запросами, но получение материала в массиве в конце всегда сводит меня с ума. Поэтому мне бы хотелось, чтобы класс стал быстрее и проще.

Thx много для вашей помощи! Best, Lox

ответ

1

Вы можете просто изменить $, где массив перед выполнением запроса, как, что:

if ($type == 'id') 
{ 
    $where = ["user_id" => $_POST['user_id']]; 
} 

if ($type == 'user_name') 
{ 
    $where = ["user_name" => $_POST['user_name']]; 
} 

$data = $database->select("account", 
    [ 
     "user_name", 
     "user_id", 
     "phone", 
     "email", 
     "age" 
    ], 
    $where 
); 
Смежные вопросы