У меня проблема с разбиением на страницы. Я отлаживаю как можно меньше, и кажется, что есть проблема с запросом и выполнением SELECT. Если я выберу часть разбивки на страницы, запрос выполнит и отобразит все записи в длинной таблице. Я попытался выполнить массив, bindValue и bindParam, но ничего не работает, может ли кто-нибудь увидеть, что мне не хватает?PHP OOP Pagination
function showEmployees() {
$count = $this->dbh->query("SELECT * FROM employee_info");
$count->rowCount();
$count = $count->rowCount();
// if ($count > 0) {
// echo "The total amount of employees is " . $count;
// } else {
// echo "There are no records in this table.";
// }
$page_rows = 10;
$last_page = ceil($count/$page_rows);
echo $last_page;
if ($last_page < 1) {
$last_page = 1;
}
$page_num = 10;
if (isset($_GET['pn'])) {
$page_num = preg_replace('#[^0-9]#', '', $_GET['pn']);
}
if ($page_num < 1) {
$page_num = 1;
} elseif ($page_num > $last_page) {
$page_num = $last_page;
}
$limit = 'LIMIT ' .($page_num -1) * $page_rows .', '. $page_rows;
$query = $this->dbh->prepare("SELECT * FROM employee_info ORDER BY employee_id DESC :page_limit");
$query->bindParam(':page_limit', $limit);
$query->execute();
$t = "<table name='displayEmployees' border='1' >";
$t .="<tr>";
$t .= "<th>Employee ID</th>";
$t .= "<th>First Name</th>";
$t .= "<th>Last Name</th>";
$t .= "</tr>";
while($u = $query->fetch(PDO::FETCH_ASSOC)) {
$t .="<tr>";
$t .= "<td>{$u['employee_id']}</td>";
$t .= "<td>{$u['first_name']}</td>";
$t .= "<td>{$u['last_name']}</td>";
$t .="</tr>";
}
$t .="</table>";
return $t;
}
Спасибо Майк, я понимаю, что вы сказали, и оценить его, из-за паранойи инъекции я получил столько в привычку подготовке всех заявлений я делать это не думая, но вы правы , в таких случаях это избыточно, и жаль, что мне еще не разрешено голосовать. – Jake