PHPを理解していない者ですが見よう見まねでphp my adminからデータを取り出し
ホームページへ掲載するまではなんとかできました。
ただ、ページングを作るとなるとハードルが高くて困っています。
ネットで検索して探していますがphp my adminと連動してページングが書かれている記事も少ないようでした。
あっても現在使っているこのコードとかけ離れていて、
どこに何を足したら良いのか理解できませんでした。
このコードに少し加えて機能したら良いのですが根本的に書き方を変えないといけませんか?
できれば付け足すコードを書いていただけるとうれしいです。
現在のページングは
▼トップページから見ると
|2ページ目
▼2ページへ行くと
1ページ目へ | 3ページ目へ
と表示されています。これを、
1 2 3 >>10
このように3ページ分くらいは表示できるようにしたいのです。
どうかご教授下さい!
<!-- ページング -->
<?php if($page >= 2): ?>
<a href="index.php?page=<?php print($page-1); ?>"><?php print($page-1); ?>ページ目へ</a>
<?php endif; ?>
|
<?php
$counts = $db->query('SELECT COUNT(*) as cnt FROM ■■ WHERE ●●=\'りんご\'');
$count = $counts->fetch(); //1件のデータだけなので直接fetch
$max = ceil($count['cnt'] / 10); //ceilで少数点を切り上げて次ページへ
if($page < $max): //最大ページ数より小さければ"ページ目へ"を表示する
?>
<a href="index.php?page=<?php print($page+1); ?>"><?php print($page+1); ?>ページ目へ</a>
<?php endif; ?>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
$page = ページ番号;
$num = 件数;
$num_per_page = ページ毎件数;
$disp_range = ページ表示範囲;
$pn = ceil($num / $num_per_page); // ページ数
$pc = max(1, min($page, $pn)); // 補正済みページ番号
$pa = max(1, $pc - floor($disp_range/2)); // 範囲内最小
$pb = min($pa + $disp_range - 1, $pn); // 範囲内最大
if (1 < $pa) 番号とリンク表示(1);
for ($i = $pa; $i <= $pb; $i++) {
_ if ($i == $pc) 番号表示($i);
_ else 番号とリンク表示($i);
}
if ($pb < $pn) 番号とリンク表示($pn);
PHPがのことが分からないので、
いまいち私にはこれをどこに入れたら動くのかが分からなかったのですが
Ogre7077様一人しか返答頂けなかったのでベストアンサーとさせて頂きました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP PHPの変わった閉じタグの必要性と意味を教えてください。 1 2022/08/28 15:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Image Magickの関数が使えない
-
不倫、浮気相手の立場の本
-
服にかいた油性ペンがにじまな...
-
これの対応OSを教えて下さい。p...
-
apache・phpが起動しない・・・
-
アルゴリズム
-
undefined function: mb_conver...
-
ボタンを押すことでincludeの値...
-
2種類のスクリプトを1つのペー...
-
どこの学校がお勧めですか?(...
-
onedrive にexcelファイルをア...
-
こちらはただの直列処理ですか?
-
ワードプレス、Contact Form 7...
-
拡張子php画像をjpg画像等に変...
-
PHPとCSVで簡易データベースな...
-
include先でのinclude元の変数...
-
リダイレクト元のURLの取得方法...
-
メールフォームのタイトルが文...
-
php エラー
-
PHPのif文でその処理を途中で抜...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
これの対応OSを教えて下さい。p...
-
フォームで戻った際に入力済み...
-
.htaccessにphp_valueが使用できな
-
*.php、*.php3、*.phtmlの違い
-
<A href ~ と一緒に値を渡すには
-
HYのAM11:00のラップの部分の歌...
-
PEAR(Image_QRCode)のエラー
-
さくらインターネットでメール...
-
PHPINFOが見えない
-
PEAR installでエラー
-
PHPからMSSQLへの接続結果の文...
-
phpからoutlook起動
-
リンクのクリック数をカウンタ...
-
libphp5.so がないと?
-
phpの中でphpを書けないか
-
【PHP】tmp_nameの命名規約につ...
-
phpエラーメッセージ
-
PHPでの画面遷移について
-
Apache 2.4.0でphp5.3を使うには?
-
PHPでメールを受信するには?
おすすめ情報
Ogre7077様
$page = ページ番号;
$num = 件数;
$num_per_page = ページ毎件数;
$disp_range = ページ表示範囲;
の=以降は任意の数字を入れると良いということでしょうか?