投稿者 メッセージ
<  PHPプログラミング  ~  hiddenタグ
青木 宏
投稿1時間: 水 11月 08, 2006 3:12 am  引用



登録日: 2006年8月 06日
投稿記事: 10

数字を検索して表示させるのはできるのですが、「次」または「前」のボタンを押すと数字が減ったり増えたりするようにしたいのですが一度、数字を検索して、数字を表示させた後、「前」や「次」のボタンを押すと-1や1といった数字が出てしまいます。恐らくいったんテキストボックスに数字を入力して検索した後その数字が保持されていないだからだと思います。なのでhiddenタグかセッション関数と使うと思いますが書き方が分かりません。教えていただけますか?サンプルは↓
<html><body>
<?php
$ID=$_POST["ID"];
$no=$_POST["no"];

if($no=="前"){
$ID=$ID-1;
}elseif($no=="次"){
$ID=$ID+1;
}

?>
<form action="vvv.php" method="POST">

現在の数字は<? echo $ID ?>です。
<input type="text" name="ID" size="5">
<input type="submit" name="no" value="検索">
<input type="submit" name="no" value="前">
<input type="submit" name="no" value="次">

</form>
</body></html>

ちなみに上記のソースは練習のソースなので実際やろうとしているのは、数字を入力して検索したら、データベースにあるアンケートの結果を表示させようとしています。[url][/url]


青木 宏が月 11月 20, 2006 5:31 pmに記事を編集, 編集回数: 1

_________________
PHPの初心者です。よろしくです
トップに移動
ユーザー情報を表示 メッセージを送信
allison
投稿1時間: 水 11月 08, 2006 5:00 pm  引用



登録日: 2006年10月 21日
投稿記事: 13

ページ移動する毎に SQL を発行し、指定範囲のデータを抽出することを想定して、
該当レコード数と1ページ毎の表示件数から、表示範囲を算出する簡単なサンプルを作ってみました。
以下のソースだけで実行して、動作確認済みです。ご参考になれば幸いです。

<?php
//pager.php
/*
$rows....該当レコード数
$limit....1ページ毎の表示件数
$total....総ページ数
$view....現在表示中のページ
$start....表示範囲の最初
$end.....表示範囲の最後
*/

$rows=97;//テスト用に代入
$limit=10;
$view=$_SERVER["QUERY_STRING"];

$total=floor($rows/$limit);
if ($rows % $limit) ++$total;
$start=$view*$limit;
$end=$start+$limit;
if ($end>$rows) $end=$rows;

echo"<p>Results ",$start+1," - ",$end," of ",$rows,"</p>";
if ($rows>$limit) {
if ($view) echo"<a href=\"?",$view-1,"\">Previous</a> | ";
for($p=0;$p<$total;$p++) {
if ($p) echo", ";
echo"<a href=\"?",$p,"\">",$p+1,"</a>";
}
if ($view<$total-1) echo" | <a href=\"?",$view+1,"\">Next</a>";
}
?>

# select * from テーブル名 where 抽出条件 limit $start,$end
トップに移動
ユーザー情報を表示 メッセージを送信
特定期間内の記事を表示:   
All times are GMT +9:00

次のトピックを表示
前のトピックを表示
Page 1 of 1
フォーラム一覧  ~  PHPプログラミング

トピックの新規投稿   返信


 
移動先:  

新規投稿: 不可
返信: 不可t
自分の記事の編集: 不可
自分の記事の削除: 不可
投票への参加: 不可




Powered by phpBB
customized by phpspot.