[PHP-users 34577] 検索結果の 次へ(Next)、前へ(Previous)ができず困っています。
有限会社ジュウイチ
zuichi_info @ omocha.co.jp
2009年 5月 15日 (金) 22:08:43 JST
投稿した マツムラです。
いしかわ様
ご教授ありがとうございます。
色々とテストと確認してみます。ありがとう御座います。
ちょっと色々と確認してみます。
今後ともよろしくお願いします。
On Fri, 15 May 2009 01:59:08 +0900
Masatoshi Ishikawa <masato-i @ yj8.so-net.ne.jp> wrote:
> いしかわ です.
>
> こんばんは
>
> limit を使って解決を図るのであれば,PHPより MySQLのMLで
> たずねられた方がよいような気もしますが,・・・
>
> それはそれとして.検索結果の任意のところから n件の
> 検索結果を取得するのであれば,limit 句にオフセット
> を指定すればよいと思います.
>
> リファレンスを見たところ書式としては,
>
> SELECT * FROM テーブル WHERE 条件 LIMIT オフセット,件数
>
> でよいと思います.オフセットの計算は,
>
> (ページ番号-1)*[1ページに表示したい結果の件数]
>
> でどうでしょうか? (ページ番号が1から始まると仮定しています)
>
> ページ番号は,次へ や 前へ のボタン(リンク?)を押したときのPHPのプログ
> ラムへ値を渡すようにすればよいと思います.
>
> リンクで渡すのであれば・・・
>
> <a href="hoge.php?page=ページ">前へ</a>
>
> のような感じでかけばとりあえず動くと思います.ちなみに上のリンクから値を
> 取り出す場合は,$card_level とときと同じでよいと思います.
>
> ソースを書いてテストしていないので,少々頼りない背梅異聞で申し訳ないです
> がいかがでしょうか?
>
> では.
>
>
>
> 有限会社ジュウイチ さんは書きました:
> > 投稿した、マツムラです。
> >
> > ご教授ありがとう御座います。
> > とにかく、自分にスキルが無く理解力もないためすみません。
> >
> > 書き忘れたのですが、このCODEは、
> >
> > $card_level = $_REQUEST['card_level']; // 変数に代入
> >
> > この部分でわかると思いますが、$card_level で検索している状態です。
> > " LIMIT "をSELECTの検索CODEに、見よう見まねでいろいろやってみましたが
> > LIMITの数量のみ表示される状態になり、自分では、検索結果の 次へ(Next)、
> > 前へ(Previous)を実現することができませんでした。
> >
> > スキルが無く(レベルが低く)申し訳ありません。
> > もう少し、初心者向けとしてご教授いただけたら助かります。
> > 申し訳ありませんが、よろしくお願いします。
> >
> >
> >
> >
> > On Fri, 15 May 2009 00:49:25 +0900
> > Masatoshi Ishikawa <masato-i @ yj8.so-net.ne.jp> wrote:
> >
> >> いしかわ です.
> >>
> >> はじめまして.
> >>
> >> 質問を勘違いしているかもしれませんが・・・
> >>
> >>
> >> 下のコードを見た限り,MySQLに発行するSQL文で limit を使って取得する検索
> >> 結果の範囲を指定するか,検索結果を配列に一度全部入れいているようなので,
> >> 表示する配列の範囲を指定してやればできると思いますが,どうでしょうか?
> >>
> >> では.
> >>
> >>
> >> 有限会社ジュウイチ さんは書きました:
> >>> マツムラといいます。
> >>>
> >>> 初めて投稿させていただきました。
> >>>
> >>> PHPでMySQLの検索結果の 次へ(Next)、前へ(Previous)ができず困っています。
> >>> 海外のサイトのサンプルCODEをみて、色々と試したのですが、どうにもうまく
> >>> 行きません。また、本も5冊買っていろいろ見たのですが、ダメでした。
> >>>
> >>> 自分にスキルが無いのが原因とは思いますが、何方かご教授いただけないでし
> >>> ょうか?
> >>>
> >>> よろしくお願いします。
> >>>
> >>>
> >>> OCNのメール&ウェップPro2のホスティングを利用しています。
> >>>
> >>>
> >>>
> >>> ※HOSTINGの各バージョン(RedHat Linux)
> >>> " Apache2.0.52 "," MySQL 5.0.51a "," PHP5.2.8 "です。
> >>>
> >>> ※下記が、現在検索をしているページのCODEです。このページにて、
> >>> 検索結果の 次へ(Next)、前へ(Previous)を実現したいと思っております。
> >>>
> >>>
> >>> <?php
> >>>
> >>> // -------------- MySQL データ操作 --------------------------------
> >>>
> >>> $card_level = $_REQUEST['card_level']; // 変数に代入
> >>>
> >>> $DBSERVER = "localhost"; //MySQLサーバー名-----
> >>> $DBUSER = "root"; //ログインユーザー名
> >>> $DBPASSWORD = ""; //パスワード----------
> >>> $DBNAME = "dive_free_db_"; //データベース名
> >>>
> >>> //MySQLに接続します
> >>> $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
> >>>
> >>> //MySQL読み込み時の文字コードを設定---------------------------------------
> >>> mysql_query("set names sjis");
> >>>
> >>> //データベースを選択します
> >>> $selectdb = mysql_select_db($DBNAME);
> >>>
> >>> // dive_free_tbl_テーブルに検索を実行する。
> >>>
> >>> $sql = "SELECT * from dive_free_tbl_ where card_level = '$card_level'";
> >>>
> >>> //SQLを発行して結果セットを取得します-----------------------変更--------------
> >>> $result = mysql_query($sql) or die(mysql_error());
> >>>
> >>> //検索結果のレコード数を $rowa に格納します
> >>> $rows = mysql_num_rows($result);
> >>>
> >>> //--------------------------------------------------------------------------
> >>> // foreach用のループ変数" $radars " を設定---------------START------
> >>>
> >>> for ($i = 0, $n = mysql_num_rows($result); $i < $n; $i++)
> >>> {
> >>> $radars[] = mysql_fetch_assoc($result);
> >>> }
> >>>
> >>> // foreach用のループ" $radars " を設定---------END------------------
> >>>
> >>>
> >>> ?>
> >>>
> >>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> >>> <html xmlns="http://www.w3.org/1999/xhtml">
> >>> <head>
> >>> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
> >>> </head>
> >>>
> >>> <body>
> >>> <?php foreach($radars as $radar):// 検索結果の一覧表示の始まり------------- ?>
> >>> <br />
> >>> <table width="580" border="0" cellpadding="2" cellspacing="0" bordercolor="#CCCCCC" bgcolor="#f9f3ff">
> >>> <tr height="25">
> >>> <td width="580" height="25" align="center" valign="top" bgcolor="#E6E6E6"><table width="580" border="0" cellpadding="2">
> >>> <tr>
> >>> <td width="17%" height="20" align="center" bgcolor="#E6E6E6" class="style2">登録日</td>
> >>> <td width="18%" align="center" bgcolor="#E6E6E6" class="style2">Card Level</td>
> >>> <td width="16%" align="center" bgcolor="#E6E6E6" class="style2">タンク本数</td>
> >>> <td width="16%" align="center" bgcolor="#E6E6E6" class="style2">主な潜水地</td>
> >>> <td width="15%" align="center" bgcolor="#E6E6E6" class="style2">年齢</td>
> >>> <td width="15%" align="center" bgcolor="#E6E6E6" class="style2">性別</td>
> >>> </tr>
> >>> <tr>
> >>> <td><font color="#000082"><?php echo $radar['time_stamp']?></font></td>
> >>> <td><font color="#000082"><?php echo $radar['card_level']?></font></td>
> >>> <td><font color="#000082"><?php echo $radar['tank_number']?></font></td>
> >>> <td><font color="#000082"><?php echo $radar['diving_point']?></font></td>
> >>> <td><font color="#000082"><?php echo $radar['diver_age']?></font></td>
> >>> <td><font color="#000082"><?php echo $radar['diver_sex']?></font></td>
> >>> </tr>
> >>> </table></td>
> >>> </tr>
> >>> <tr>
> >>> <td align="right" valign="middle">
> >>> </td>
> >>> </tr>
> >>> </table>
> >>> <?php endforeach; // 検索結果の一覧表示の終わり--------------------------- ?>
> >>> </body>
> >>> </html>
> >>>
> >>>
> >>>
> >>>
> >>> 以上
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> PHP-users mailing list PHP-users @ php.gr.jp
> >>> http://ml.php.gr.jp/mailman/listinfo/php-users
> >>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> >>> http://oldwww.php.gr.jp/php/novice.php3
> >>>
> >>>
> >>> ------------------------------------------------------------------------
> >>>
> >>>
> >>> No virus found in this incoming message.
> >>> Checked by AVG - www.grisoft.jp
> >>> Version: 8.5.325 / Virus Database: 270.12.29/2114 - Release Date: 05/14/09 06:28:00
> >>>
> >> _______________________________________________
> >> PHP-users mailing list PHP-users @ php.gr.jp
> >> http://ml.php.gr.jp/mailman/listinfo/php-users
> >> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> >> http://oldwww.php.gr.jp/php/novice.php3
> >
> >
> > ------------------------------------------------------------------------
> >
> >
> > No virus found in this incoming message.
> > Checked by AVG - www.grisoft.jp
> > Version: 8.5.325 / Virus Database: 270.12.29/2114 - Release Date: 05/14/09 06:28:00
> >
>
> _______________________________________________
> PHP-users mailing list PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
--
有限会社ジュウイチ <zuichi_info @ omocha.co.jp>
PHP-users メーリングリストの案内