[PHP-users 12015] 表示件数の制御について

hana php-users@php.gr.jp
Thu, 5 Dec 2002 11:36:16 +0900


This is a multi-part message in MIME format.

------=_NextPart_000_0005_01C29C52.859549C0
Content-Type: text/plain;
	charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit

こんにちは萩原と申します。
PHP、プログラム初心者にて頓珍漢な質問をしていましたら申し訳ありません。
お手数ですが、基本的なところからご教授いただけますと幸いです。

myspl のDBより 登録データの一覧をHTMLへ表示させたいと思います。
登録数が多いので1ページに20件の表示に絞り、次のページへ
リンク、表示させたいと思います。
下記のプログラムでは テーブルよりデータを取り出し
id と タイトルだけ表示させるというところまではできました。
実現したい詳細は下記の通りです。

1 1ページの表示件数を 20件、30件、40件 とリストボックスで選択
2 20件表示とさせた場合
2-1 21件目 を「次のページへ」とリンク→21件目のページを表示
2-2 21〜40件 2ページ目 41〜60件 3ページ目 ・・・
  と次に展開されるページをリストボックスで選択→ 
  選択ページの表示

上記を実現するにはどのようなプログラムになるのでしょうか。
またはSQL文の発行方法にコツがあるのでしょうか。

SQL文の発行方法。
PHP でのデータの取得、制御、反映方法。
HTMLへのリストボックスへの反映方法
・・・・・・

等お教えいただけますと幸いです。
よろしくお願いいたします。

萩原
hana701@hotmail.com


プログラム ===================================================

file://DBへ接続開始 サーバー名--localhost ユーザー名--root
$dbc = mysql_connect("localhost","root","");

$db = "sakuhin";
$sql = "select id,title,end from list order by id desc";
$rssql = mysql_db_query($db,$sql);
$fields = mysql_num_fields($rssql);
$rows = mysql_num_rows($rssql);
print("<table width=300><tr><th bgcolor=#EEEEEE width=40>id</th><th
bgcolor=#EEEEEE align=left>title</th></tr></table>");
if ($rows > 0) {
 print("<table border=0 width=300>");
  for ($j=0;$j<$rows;$j++){
  file://行を取得する
  $row=mysql_fetch_array($rssql);

   file://終了していない場合
   if ($row[2]!=1){
   print("<form action=list1.php method=post>");
   print("<tr><td align=center width=40>". $row[0] ."</td>");
   print("<td align=leftr><b>". $row[1] ."</b></td><td width=80><INPUT
TYPE=hidden NAME=id VALUE=". $row[0] ."><INPUT type=submit value=詳細
></td>");
   print("</tr>");
   print("</form>");
   } file://if
  }
  print("</table><br>");
}else{
print("登録されているデータはありません。\n");
} file://if(row)
mysql_free_result($rssql);
mysql_close($dbHandle);


------=_NextPart_000_0005_01C29C52.859549C0
Content-Type: text/html;
	charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-2022-jp" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2919.6307" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT=20
size=3D2>=1B$B$3$s$K$A$OGk86$H?=3D$7$^$9!#=1B(B<BR>PHP=1B$B!"%W%m%0%i%`=3D=
i?4<T$K$FF\DA4A$J<ALd$r$7$F$$$^$7$?$i?=3D$7Lu$"$j$^$;$s!#=1B(B<BR>=1B$B$*=
<j?t$G$9$,!"4pK\E*$J$H$3$m$+$i$465<x$$$?$@$1$^$9$H9,$$$G$9!#=1B(B</FONT><=
/DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>myspl=20
=1B$B$N=1B(BDB=1B$B$h$j!!EPO?%G!<%?$N0lMw$r=1B(BHTML=1B$B$XI=3D<($5$;$?$$=
$H;W$$$^$9!#=1B(B<BR>=1B$BEPO??t$,B?$$$N$G=1B(B1=1B$B%Z!<%8$K=1B(B20=1B$B=
7o$NI=3D<($K9J$j!"<!$N%Z!<%8$X=1B(B<BR>=1B$B%j%s%/!"I=3D<($5$;$?$$$H;W$$$=
^$9!#=1B(B<BR>=1B$B2<5-$N%W%m%0%i%`$G$O!!%F!<%V%k$h$j%G!<%?$r<h$j=3DP$7=1B=
(B<BR>id=20
=1B$B$H!!%?%$%H%k$@$1I=3D<($5$;$k$H$$$&$H$3$m$^$G$O$G$-$^$7$?!#=1B(B<BR>=1B=
$B<B8=3D$7$?$$>\:Y$O2<5-$NDL$j$G$9!#=1B(B</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT=20
size=3D2>1=1B$B!!=1B(B1=1B$B%Z!<%8$NI=3D<(7o?t$r!!=1B(B20=1B$B7o!"=1B(B30=
=1B$B7o!"=1B(B40=1B$B7o!!$H%j%9%H%\%C%/%9$GA*Br=1B(B<BR>2=1B$B!!=1B(B20=1B=
$B7oI=3D<($H$5$;$?>l9g=1B(B<BR>2-1=1B$B!!=1B(B21=1B$B7oL\!!$r!V<!$N%Z!<%8=
$X!W$H%j%s%/"*=1B(B21=1B$B7oL\$N%Z!<%8$rI=3D<(=1B(B<BR>2-2=1B$B!!=1B(B21=1B=
$B!A=1B(B40=1B$B7o!!=1B(B2=1B$B%Z!<%8L\!!=1B(B41=1B$B!A=1B(B60=1B$B7o!!=1B=
(B3=1B$B%Z!<%8L\!!!&!&!&=1B(B<BR>=1B$B!!!!$H<!$KE83+$5$l$k%Z!<%8$r%j%9%H%=
\%C%/%9$GA*Br"*!!=1B(B<BR>=1B$B!!!!A*Br%Z!<%8$NI=3D<(=1B(B</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT=20
size=3D2>=1B$B>e5-$r<B8=3D$9$k$K$O$I$N$h$&$J%W%m%0%i%`$K$J$k$N$G$7$g$&$+!=
#=1B(B<BR>=1B$B$^$?$O=1B(BSQL=1B$BJ8$NH/9TJ}K!$K%3%D$,$"$k$N$G$7$g$&$+!#=1B=
(B</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>SQL=1B$BJ8$NH/9TJ}K!!#=1B(B<BR>PHP=20
=1B$B$G$N%G!<%?$N<hF@!"@)8f!"H?1GJ}K!!#=1B(B<BR>HTML=1B$B$X$N%j%9%H%\%C%/=
%9$X$NH?1GJ}K!=1B(B</FONT></DIV>
<DIV><FONT size=3D2>=1B$B!&!&!&!&!&!&=1B(B</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT =
size=3D2>=1B$BEy$*65$($$$?$@$1$^$9$H9,$$$G$9!#=1B(B<BR>=1B$B$h$m$7$/$*4j$=
$$$$?$7$^$9!#=1B(B</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>=1B$BGk86=1B(B<BR><A=20
href=3D"mailto:hana701@hotmail.com">hana701@hotmail.com</A></FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT=20
size=3D2><BR>=1B$B%W%m%0%i%`!!=1B(B=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2><A =
href=3D"file://DB">file://DB</A>=1B$B$X@\B33+;O=1B(B =
=1B$B%5!<%P!<L>=1B(B--localhost=20
=1B$B%f!<%6!<L>=1B(B--root<BR>$dbc =3D =
mysql_connect("localhost","root","");</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>$db =3D "sakuhin";<BR>$sql =3D "select id,title,end =
from list=20
order by id desc";<BR>$rssql =3D mysql_db_query($db,$sql);<BR>$fields =
=3D=20
mysql_num_fields($rssql);<BR>$rows =3D =
mysql_num_rows($rssql);<BR>print("&lt;table=20
width=3D300&gt;&lt;tr&gt;&lt;th bgcolor=3D#EEEEEE =
width=3D40&gt;id&lt;/th&gt;&lt;th=20
bgcolor=3D#EEEEEE =
align=3Dleft&gt;title&lt;/th&gt;&lt;/tr&gt;&lt;/table&gt;");<BR>if=20
($rows &gt; 0) {<BR>&nbsp;print("&lt;table border=3D0=20
width=3D300&gt;");<BR>&nbsp;&nbsp;for =
($j=3D0;$j&lt;$rows;$j++){<BR>&nbsp;&nbsp;<A=20
href=3D"file://=1B$B9T=1B(B">file://=1B$B9T=1B(B</A>=1B$B$r<hF@$9$k=1B(B<=
BR>&nbsp;&nbsp;$row=3Dmysql_fetch_array($rssql);<BR>&nbsp;<BR>&nbsp;&nbsp=
;&nbsp;<A=20
href=3D"file://=1B$B=3D*=1B(B">file://=1B$B=3D*=1B(B</A>=1B$BN;$7$F$$$J$$=
>l9g=1B(B<BR>&nbsp;&nbsp;&nbsp;if=20
($row[2]!=3D1){<BR>&nbsp;&nbsp;&nbsp;print("&lt;form action=3Dlist1.php=20
method=3Dpost&gt;");<BR>&nbsp;&nbsp;&nbsp;print("&lt;tr&gt;&lt;td =
align=3Dcenter=20
width=3D40&gt;". $row[0] =
."&lt;/td&gt;");<BR>&nbsp;&nbsp;&nbsp;print("&lt;td=20
align=3Dleftr&gt;&lt;b&gt;". $row[1] ."&lt;/b&gt;&lt;/td&gt;&lt;td=20
width=3D80&gt;&lt;INPUT TYPE=3Dhidden NAME=3Did VALUE=3D". $row[0] =
."&gt;&lt;INPUT=20
type=3Dsubmit=20
value=3D=1B$B>\:Y=1B(B&gt;&lt;/td&gt;");<BR>&nbsp;&nbsp;&nbsp;print("&lt;=
/tr&gt;");<BR>&nbsp;&nbsp;&nbsp;print("&lt;/form&gt;");<BR>&nbsp;&nbsp;&n=
bsp;}=20
<A=20
href=3D"file://if">file://if</A><BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;print("&=
lt;/table&gt;&lt;br&gt;");<BR>}else{<BR>print("=1B$BEPO?$5$l$F$$$k%G!<%?$=
O$"$j$^$;$s!#=1B(B\n");<BR>}=20
<A=20
href=3D"file://if">file://if</A>(row)<BR>mysql_free_result($rssql);<BR>my=
sql_close($dbHandle);</FONT></DIV>
<DIV>&nbsp;</DIV></BODY></HTML>

------=_NextPart_000_0005_01C29C52.859549C0--