Наиболее эффективный способ вызова аналогичного запроса в трех местах на одной странице

У меня есть страница PHP, которая вызывает почти один и тот же запрос три раза на странице, и мне хотелось узнать, есть ли более быстрый способ использования этого, чем в трех отдельных случаях.

запросы, по сути,

select * from dbo.function('foo','bar')
where userid = $userid
and status = 'Yes'

select * from dbo.function('foo','bar')
where userid = $userid
and status = 'No'
and value >= 0

select * from dbo.function('foo','bar')
where userid = $userid
and status = 'No'
and value < 0

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

0

Решение

Написание функции сделает работу. как то так подойдет:

function foo($id,$status='No',$value='',$sign=''){
$value = (string) $value;
$table = 'table_name';
$allowedSigns = array('=','>','<','>=','<=');
$query = "select * from %s where userid = '%s' and status = '%s'";
if(isset($value) and $value!='' and in_array($sign,$allowedSigns)){
$query .= " and value %s '%d'";
$query = sprintf($query,$table,$id,$status,$sign,$value);
}else{
$query = sprintf($query,$table,$id,$status);
}
return $query;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]