
PDOを使って、DBにある100レコードほどあるデータを
一覧表示させようと思っています。
$sqlTXT = "SELECT name,brith FROM table_name ORDER BY id LIMIT $st,$lim;";
$statement = $dbh->query("$sqlTXT");
$this->get_fetchAll = $statement->fetchAll(PDO::FETCH_ASSOC);
上記のような処理にて、10ページずつページ切り替え表示させたいのですが、
総レコード数をDBから引き出し方がわからず、
そのため、ページ切り替えをしたとき、最後のページの「次へ」ボタンを
消す処理ができないでいます。
PDOを使わないときは、「SELECT COUNT(*)~」で総レコード数をだせたので、
そこから1ページ辺りの件数で割って「次へ」ボタンを消す処理ができましたが、
PDOを使う場合は、どうやって総レコード数を出すことができるでしょうか?
また、PDOを使った最後のページの「次へ」を消す便利な方法があれば
教えてください。
No.1ベストアンサー
- 回答日時:
$this->get_fetchAll
こいつを
count($this->get_fetchAll)
で、取得できた件数を知ることができますよ。
もちろん、
SELECT COUNT(*)~
でクエリ投げれば、count数取れますよ。
100レコード という比較的数の少ない場合は、取得してきた総レコードを PHPのcount()で数えればいいだけ。
数千、数万レコードになるのであれば、全部のレコードを取得してくると非常に処理が重くてへたすらタイムアウトするので、
一旦、SQLの COUNT(*) でレコード数を取得して、今現在のページ数分のLIMITをつけたSQLを生成してクエリーするほうが精神衛生面的にも、システム全体のパフォーマンスアップにもつながります
この回答への補足
ありがとうございます。
ただ、「count($this->get_fetchAll)」を実行すると、
Limtで設定したものしか読み込まないので全レコードを取得するために、
下記のようにしたら取得できました!
$SQLtxt = "SELECT COUNT(*) FROM table_name;";
$ss = $dbh->query($SQLtxt);
$count = $ss->fetchColumn();
print "レコード数:$count<BR>";
fetchColumn()を使ってますが、これでよいでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「取得先」という表現について
-
Excel VBA:特定の文字列以降(...
-
ps3で久しぶりにCDの音楽情報取...
-
VB.NETでボリュームを取得・設...
-
INIファイル
-
ExcelVBAで、FileSystemObject...
-
webサイトの参考資料:サイト名 ...
-
EXCEL、マクロ-改ページ行番号...
-
C#で特定LANアダプタの状態を取...
-
ファイル名のリスト取得について
-
ローカルのコンピュータ名を取...
-
Yahoo! JAPAN IDを新規取得でき...
-
Win32apiでUSBカメラ映像取得の...
-
shシェルスクリプト 空白行の...
-
開始と終了を指定して、その間...
-
【C#】DataGridViewの最大列数...
-
Dosブロンプトでtabを出力したい
-
findstrのerrorlevel
-
wordの差し込み印刷で文字...
-
XMLのタグの有無をPHPで判定し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「取得先」という表現について
-
Excel VBA:特定の文字列以降(...
-
VB.NETでボリュームを取得・設...
-
EXCEL、マクロ-改ページ行番号...
-
VBAでPDFファイルの文書のプロ...
-
ps3で久しぶりにCDの音楽情報取...
-
ミュージックのアートワークを...
-
ローカルのコンピュータ名を取...
-
Yahoo! JAPAN IDを新規取得でき...
-
各クライアントマシンのログイ...
-
ドライブ文字からハードウェア...
-
VBAでPDFのアクティブページ番...
-
webサイトの参考資料:サイト名 ...
-
IEを使わないでhtmlテキストを...
-
format関数について
-
C# ASP.NET でIPアドレスからア...
-
(Win32)ファイルパスから物理ド...
-
【VBA】EXCELブックを開かずに...
-
ファイル名のリスト取得について
-
コンビニで住民票を取得した場...
おすすめ情報