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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1497閲覧

ページングで1ページ目以降表示されない

iamsin

総合スコア15

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/10/20 22:34

MySQLのデータ検索結果をページング処理で複数のページで表示させたいのですが、2ページ目以降表示されません。
ページャーリンク部分に問題があるのでしょうか?
お手数ですがご指導願います。

<?php session_start(); ?> <!DOCTYPE html> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html;charset=utf-8"> </HEAD> <BODY> <?php require_once("MYDB.php"); $pdo=db_connect(); try{ // GETで現在のページ数を取得 if (isset($_GET['page'])) { $page = (int)$_GET['page']; } else { $page = 1; } // スタートのポジションを計算 if ($page > 1) { $start = ($page * 10) - 10; } else { $start = 0; } //POSTデータを取得 $search_key = "{$_POST['search_key']}"; $searchSelect ="{$_POST['searchSelect']}"; $search_key = preg_replace("/[ ]+/", " ", $search_key); $search_key = trim($search_key); //検索条件 and or $array = explode(" ", $search_key); $cnt = count($array); $where = "WHERE "; for($i=0; $i < $cnt; $i++){ $where.= "type LIKE '%".$array[$i]."%'"; if($i < $cnt-1){ $where .=" ".$searchSelect." "; } } $sql = "SELECT DISTINCT `goods` FROM `list`".$where; $sql.= "ORDER BY `goods` LIMIT {$start}, 10"; $sth = $pdo->prepare($sql); $sth ->execute(); // ページ数を取得 $sql2 = "SELECT DISTINCT `goods` FROM `list`".$where; $stmh = $pdo->prepare($sql2); $stmh ->execute(); $count = $stmh->rowCount(); $totalpage = ceil($count / 10); }catch(PDOException $Exception){ print"error:".$Exception->getMessage(); } if($count <1){ print"<BR>検索結果はありません"; }else{ ?> <TABLE> <TBODY> <?php while($row = $sth ->fetch(PDO::FETCH_ASSOC)){ ?> <TR> <TD> <?=htmlspecialchars($row['goods'])?> </TD> </TR> <?php } ?> </TBODY> </TABLE> <?php } ?> <?php for ($i=1; $x <= $totalpage ; $i++) { ?> <a href="?page=<?php echo $i ?>"><?php echo $i; ?></a> <?php } // End of for ?> </BODY> </HTML>

補足情報

MySQL5.5
PHP5.6.22

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2016/10/20 23:03

postは永続ではありませんが理解してますか?
ttyp03

2016/10/21 00:16

1ページ目以降なのか2ページ目以降なのか、どっちですか?
guest

回答2

0

記載頂いているソースにはformタグがありませんが、javascript等でやっているのでしょうか?
他の回答者の皆様がおっしゃっているようにgetパラメータに追加しても良いですし、form記述部分にpageのパラメータをhiddenで追加してpost送信しても良いと思います。

投稿2016/10/21 01:28

nobinobi

総合スコア199

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

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

iamsin

2016/10/23 21:49

別ページからのform検索です。表記せず申し訳ありませんでした。 ページリンク部分に検索キーワードをつけて、$_REQUESTで、 $_POSTでも$_GETでも受け取れるようにして、ページ遷移が可能になりました。 誠にありがとうございました。
guest

0

ベストアンサー

PHP

1<a href="?page=<?php echo $i ?>">

この部分にGETで検索キーワードもつけて、

PHP

1//POSTデータを取得 2$search_key = "{$_POST['search_key']}"; 3$searchSelect ="{$_POST['searchSelect']}";

の部分で$_POSTでも$_GETでも取れるようにすればよいと思います。

投稿2016/10/21 00:46

s.t.

総合スコア2021

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

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

iamsin

2016/10/23 21:49

ページリンク部分に検索キーワードをつけて、$_REQUESTで、 $_POSTでも$_GETでも受け取れるようにして、ページ遷移が可能になりました。 誠にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問