質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

568閲覧

出力したデータをページングしたい

oshietecyoudai

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/09/01 17:01

いろいろなサンプルを調べてみたのですが、うまく動作いたしません。
宜しくお願いいたします

<?php session_start(); session_regenerate_id(true); if(isset($_SESSION['member_login'])==false) { print'ようこそゲスト様<br/>'; print'<a href="member_login.html">会員ログイン</a>'; print '<br/>'; } else { print 'ようこそ'; print $_SESSION['member_name']; print '様<br/>'; /*****ログアウト*****/ print'<a href="member_logout.php"><img src="../images/button/cman20210829004351830.png"></a>'; print '<br/>'; } try { // GETで現在のページ数を取得する(未入力の場合は1を挿入) if (isset($_GET['page'])) { $page = (int)$_GET['page']; } else { $page = 1; } // スタートのポジションを計算する if ($page > 1) { // 例:2ページ目の場合は、『(2 × 10) - 10 = 10』 $start = ($page * 10) - 10; } else { $start = 0; } /*サニタイジング*/ require_once('../common/common.php'); $post=sanitize($_POST); $pro_kensaku= $post['kensaku']; require_once('../Connections/DBSET.php'); if($pro_kensaku=='') { $sql ='SELECT code,name FROM mst_product LIMT ".$start.",10'; $stmt=$dbh->prepare($sql); $stmt->execute(); } else { $sql='SELECT * FROM mst_product WHERE code=? or name LIKE ?'; $stmt=$dbh->prepare($sql); $data[]=$pro_kensaku; $data[]="%".$pro_kensaku."%"; $stmt->execute($data); } $dbh=null; ?>
<table border="1"> <tr align="center"> <td colspan="2">商品一覧</td> <form method="post" action="shop_list.php"> <td><input type="text" name="kensaku" style="width: 200px"></td> <td><input type="submit" value="検索"></td> </form> <tr align="center"> <td>商品コード</td> <td colspan="3">商品名</td> </tr> <?php while(true) { $rec=$stmt->fetch(PDO::FETCH_ASSOC); if($rec==false) { break; } /*print'<a href="shop_product.php?procode='.$rec['code'].'">';*/ ?> <tr> <td align="center"><?php print'<a href="shop_product.php?procode='.$rec['code'].'">'; print $rec['code']; print '</a>'; $count++; ?></td> <td colspan="3" align="left"><?php print $rec['name'];?></td> </tr> <?php /* print $rec['price1'].'円'; print $rec['price2'].'円'; print $rec['price3'].'円'; print $rec['price4'].'円'; print $rec['price5'].'円'; print $rec['price6'].'円'; */ print '</a>'; }?> </table>
<?php $page_num = $db->prepare(" SELECT COUNT(*) code FROM mst_product "); $page_num->execute(); $page_num = $page_num->fetchColumn(); $pagination =ceil($page_num / 10); print 'カウントA'; print $page_nu; for ($x=1; $x <= $pagination ; $x++) { ?>
<a href="?page=<?php echo $x ?>"><?php echo $x; ?></a>
<?php } ?> <?php print'<br/>'; /*****カートを見る*****/ print'<a href="shop_cartlook.php"><img src="../images/button/cman20210829012236184.png"></a>'; } catch(Exception $e) { print 'ただいま障害により大変ご迷惑をお掛けしております。'; exit(); } ?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/09/01 20:52 編集

コードやエラーはマークダウンのcode機能を利用してご提示ください。 https://teratail.com/questions/238564 >いろいろなサンプルを調べてみたのですが、うまく動作いたしません。 何を調べて何を試したのか具体的に記載してください。 コピペだけで動くものってありません。ちゃんと論理的に理解できてるかどうかが大事です。
guest

回答1

0

ページ番号もsession保持しましょう。PHPでサーバとhtml上のデータをやりとりするには
$_POST、$_GETなどが必要ですが、それによって取得した変数の保持期限はワンタイム(一度きり)で、また要求が変わるとリセットされてしまいます。

したがって、このシステムだと現在開いているページ番号を保持できていないので、ページングはできません。現在開いたページを$_SESSIONを使って保持して、それを使って制御してください。

$_SESSIONならページを遷移してもデータを保持してくれます。

投稿2021/09/02 00:23

編集2021/09/02 01:23
FKM

総合スコア3644

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問