データベース内のテーブルから行数を取得しようとしていますが、引き続き間違った値が取得されます。ページネーションのサブセット値を処理するには、行数が必要です。私のテーブルには11個のアイテムがありますが、1個しか返されず、理由がわかりません:(
私の外部接続ファイル:
try {
$pdo = new PDO('mysql:host=localhost;dbname=name', 'admin', 'password');
} catch (PDOException $e) {
exit('Database error.');
}
私の記事クラス:
class Article {
public function fetch_all_articles($start, $max) {
global $pdo;
$query = $pdo->prepare("SELECT * FROM articles ORDER BY article_timestamp DESC LIMIT $start, $max");
$query->execute();
$articles = $query->fetchAll();
$query->closeCursor();
return $articles;
}
public function fetch_num_rows() {
global $pdo;
$query = $pdo->prepare("SELECT COUNT(*) FROM articles");
$query->execute();
$rowCount = $query->rowCount();
$query->closeCursor();
return $rowCount;
}
}
そして私のindex.phpファイル:
$maxArticles = 4; //Show only 4 articles per page
$page = $_GET['page'] ? $_GET['page'] : 0; //Get current page number or assign $page = 0 if no page number exists
$startRow = $page * $maxArticles; //Get current article subset value
$article = new Article;
$articles = $article->fetch_all_articles($startRow, $maxArticles); //articles array
$numArticles = $article->fetch_num_rows(); //number of articles
$rowCount = $article->fetch_num_rows(); //number of articles
echo $rowCount;
echo $numArticles;
はい、$rowCount と $numArticles の両方が必要です。これらは 2 つの異なる目的で使用されています。
誰でも私を助けることができますか?