当方タイトル道理ポストグレーSQLを用いてHTMLとPHPで
検索フォームを作ってデーターベースを作っているのですが現在の方法では検索結果がひとつのページに全部出てしまい非常に処理が重くなってしまいますので10件づつ表示したいのですが当方まったくの初心者でうまく出来ずにいます。どこをどのようにすればうまくいきますでしょうか?一応LIMITとOFFSETというのを使えば出来ると調べることができましたができずじまいです。一応検索部分のプログラムを貼り付けておきます。ここは文字制限があるので
分割して貼り付けます
No.1ベストアンサー
- 回答日時:
SQL文でLIMITとOFFSETを使うと方法は他の人にまかすとして、PHPスクリプトの方でなんとかする方法を紹介しよう。
~10件単位で表示したい場合~
1.検索結果のレコードセットのレコード数を10で割るとページ数がはじける。このページ数をセッションに保存。
2.ページ切り替えリンクを表示して、現在のページをセッションなりなんなりに持っておく。
3.DBからレコードセットを引っ張ってきた後に、「(ページ数-1)×10」レコード読み飛ばす。
4.10件だけ表示させて、レコードセットを閉じる
ちなみに、この例の「10」という数字を変数で持っておくと、表示件数を動的に切り替える事ができる。
お早い回答ありがとうございます
しかしよくわかりませんです・・・
表示部分のプログラムはこうなっておりますが
//表示♪
echo("<P align=\"center\">");
echo("$_POST[kigyoumei]");
echo("について検索しました。");
echo("</p>");
if($maxrows==0){
echo("<P align=\"center\">");
echo("残念ながら当データーベースには該当の企業はありませんでした。");
echo("</p>");
echo("</FORM>");
echo("</BODY>");
echo("</HTML>");
}else{
echo("<P align=\"center\">");
echo("$maxrows");
echo("社の登録を発見しました。");
echo"</p>";
for ($row = 0; $row < $maxrows; $row++) {
$rowdata = pg_fetch_row($rs, $i);
echo"<TABLE BORDER=\"1\" WIDTH=\"700\">\n";
echo"<tr>";
if($cheacka==0){
echo"<td width=\"20\"></td>";
echo"<td width=\"80\">";
echo"会社コード";
echo"</td>";
echo"<td width=\"145\">";
echo"会社名";
echo"</td>";
echo"<td width=\"145\">";
echo"カイシャ名";
echo"</td>";
echo"<td width=\"200\">";
echo"ホームページ";
echo"</td>";
echo"</tr>";}
echo"<td width=\"20\"><input type=radio name=kensaku value=$rowdata[0]></td>";
echo("<td width=\"80\">".htmlspecialchars($rowdata[0])."</td>");
echo("<td width=\"145\">".htmlspecialchars($rowdata[1])."</td>");
echo("<td width=\"145\">");
echo("$rowdata[2]");
echo("</td>");
if($rowdata[27]==NULL){
echo("<td width=\"200\">");
echo("登録されていません");
echo("</td>");
}else{
echo("<td width=\"200\">");
echo("<A href=\"$rowdata[27]\">");
echo("$rowdata[27]");
echo("</a>");
echo("</td>");}
echo("</tr>");
echo"</TABLE>";
$cheacka = $cheacka+1;}
echo("<br><center><INPUT type=\"submit\" name=\"送信\" value=\"詳細検索\"></center></CENTER></FORM></BODY></HTML>");}
?>
この文に組み込むにはどのようにプログラムを書いたら
よいでしょうか?重ね重ね質問申し訳ありません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Excel(エクセル) Excel フィルタ後のコピー貼付けと可視セルの関係について 3 2023/02/07 16:42
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- PHP PHP ページング データベース 1 2022/06/16 10:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<IFRAME>でコンテンツ部分のみ...
-
パワーポイントで参照ページを...
-
VBAでマルチページのページ指定...
-
UserForm.showでマルチページ1...
-
TOMCATを入れたPCのHTMLが別PC...
-
webページ通り行ったが、python...
-
アクセス元URLをばれないよ...
-
エクセルVBAでマルチページの切...
-
HPを作成したいと思い、エム...
-
vbsで開かれた別ウィンドウを制...
-
ASP.NETでログイン認証をしない...
-
キングファイルの背表紙を作成...
-
エクセルでアルファベット5段階...
-
カンマ区切り形式ではなく、セ...
-
リンクを送るとは?
-
htmlでテキストファイルの中身...
-
Final Cut Pro レンダリングが...
-
Ctrl+Hで置換にならない
-
トンカツ屋のソース差しのゴム
-
Wordチェックボックス作り方(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントで参照ページを...
-
<IFRAME>でコンテンツ部分のみ...
-
TEX ページ番号について
-
エクセルVBAでマルチページの切...
-
ワードはページ数イコール枚数...
-
ビフォアーアフターのページは...
-
地味なページはnofollowにする?
-
VBAでマルチページのページ指定...
-
UserForm.showでマルチページ1...
-
検索エンジンにインデックスさ...
-
検索順位が下がった
-
ページの自動ジャンプを止めるには
-
意図しないページが検索ヒット...
-
Excel2007 VBA で2ページ目PDF
-
関係ないページを検索エンジン...
-
アクティブレポートの、ページ...
-
ほぼ同一ページを削除すべき?
-
Latex. chapter間で改ページしない
-
写真で、「クリックすると拡大...
-
TOMCATを入れたPCのHTMLが別PC...
おすすめ情報