У меня есть БД откуда я делаю выборку лога. Выборку делаю по имени пользователя и дате, иногда по части значения в поле. Проблема в том, что иногда нужно делать выбор лога не для одного пользователя, а для нескольких. Я делаю это так:
[PHP]
foreach ($internals as $a) {
$testint = $a['interno'];
$historyquery = "SELECT username, starttime, stoptime, calledstation, sessiontime FROM cc_call WHERE username = '0'";
if($_SESSION['calls'] == "dateresult") {
unset ($_SESSION['ns']);
$historyquery = "SELECT username, starttime, stoptime, calledstation, sessiontime FROM cc_call WHERE username ='".$testint."' AND starttime >= TIMESTAMP('".$_SESSION['startdate']."') AND starttime < INTERVAL 1 DAY + TIMESTAMP('".$_SESSION['enddate']."')";
}
if($_SESSION['calls'] == "numresult") {
$historyquery = "SELECT username, starttime, stoptime, calledstation, sessiontime FROM cc_call WHERE username ='".$testint."' AND calledstation LIKE '%".$_SESSION['ns']."%' AND starttime >= TIMESTAMP('".$_SESSION['startdate']."') AND starttime < INTERVAL 1 DAY + TIMESTAMP('".$_SESSION['enddate']."')";
}
if(($r = $_PAGING->get_page( $historyquery ))) {
while ($data = $r->fetch_assoc()){
$intusername = $data['username'];
$starttime = $data['starttime'];
$stoptime = $data['stoptime'];
$calledstation = $data['calledstation'];
$sessiontime = $data['sessiontime'];
if($sessiontime == "0"){
$sessiontime = "<span style = 'color:red;'> occupato </span>";
}
else { $sessiontime = date("H:i:s", mktime(0, 0, $sessiontime)); $sessiontime = "<span style = 'color:green;'> ".$sessiontime." </span>"; }
$callhistory[] = array ('username' => $intusername, 'starttime' => $starttime, 'stoptime' => $stoptime,
'calledstation' => $calledstation, 'sessiontime' => $sessiontime);
}
}
}
$navigation = $_PAGING->get_prev_page_link().' '.$_PAGING->get_next_page_link().'<br />';
$pages = 'Pages: '.$_PAGING->get_page_links();
[/PHP]
То есть у меня в зависимости от условия, меняется запрос. Но на выходе, мне нужно организовать постраничный вывод данных. Класс который это делает, принимает только один запрос. И получается так, что в класс приходит только последний запрос, и постраничный вывод, как и поиск работают неправильно.
Для постраничного вывода пользуюсь таким классом -
http://www.tigir.com/paging.htmПодскажите как правильно в таком цикле как у меня составить единый запрос. Чтобы получать тотже результат, но не за 3 запроса, а за 1.
Спасибо за помощь)
Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
|