function magicBuildPage($request) { $orderConnection = mappedConnection('orders'); $usersConnection = mappedConnection('users'); $query = $request['query']; // пагинация по айдишникам, что бы не было сдвигов/повторов при добавлении/удаленнии элементов в ленте $minId = array_key_exists('min_id', $query) ? (int) $query['min_id'] : null; $maxId = array_key_exists('max_id', $query) ? (int) $query['max_id'] : null; $pageSize = 10; // селектим на 1 элемент больше, // что бы понять, достигнут ли конец и не селектить count $pageSeizeInc = $pageSize + 1; $orders = loadOrders($orderConnection, $pageSeizeInc, $minId, $maxId); $isLastPage = count($orders) < $pageSeizeInc; // удаляем лишний элемент if (!$isLastPage) { array_pop($orders); } $userIds = []; foreach ($orders as $order) { if (($id = $order['created_by']) && !in_array($id, $userIds, true)) { $userIds[] = $id; } } $users = loadUsersByIds($usersConnection, $userIds); $vars = ['users' => $users, 'orders' => $orders, 'is_last_page' => $isLastPage]; if (array_key_exists('HTTP_ACCEPT', $request['server']) && strpos(strtolower($request['server']['HTTP_ACCEPT']), 'application/json') !== false) { return createResponse(json_encode($vars), 200, ['content-type' => 'application/json']); } else { $vars['form'] = createCreateForm(); return createResponse(render('orders/list.html.php', $vars)); } }
<a href="orderdetails.php?om_orno=' . $fetch['om_orno'] . '"">View</a> </li> </ul> </div> </div> </div> </div>'; } } ?> <div class="container"> <div class="block-header"> <h2>History of your transaction that has been completed :</h2> </div> <div class="card"> <div class="listview lv-bordered lv-lg"> <?php loadOrders(); ?> </div> </div> </div> </div> <?php require_once 'footer.php'; ?>