PHP-メールフォームのプルダウンメニュー
お世話になります。
現在、メールフォームのプルダウンメニューで下記のコードにより選択項目によってリンク先のページを切り替えて表示しています。
<form method="POST" name="form_select" id="sample_1">
<script><!--
function change_action_to(){
var 変更する項目一覧=new Array("","201501_1.php","201502_1.php","201503_1.php","201504_1.php","201505_1.php","201506_1.php","201507_1.php","201508_1.php","201509_1.php","201510_1.php","2015011_1.php","2015012_1.php");
var 選んである項目の番号=document.getElementById("sample_1_1").selectedIndex;
var actionを変更したいフォームのオブジェクト=document.getElementById("sample_1");
actionを変更したいフォームのオブジェクト.setAttribute("action",変更する項目一覧[選んである項目の番号]);
}
//--></script>
さらに、もう一つのプルダウンメニューで選択肢が「A」と「B」があり、
例えば1つ目で「2015年1月」を選択し、2つ目で「A」を選んだ場合、「201501_1a.php」へ
もしくは1つ目で「2015年1月」を選択し、2つ目で「B」を選んだ場合、「201501_1b.php」へ
と別ページへリンクする方法が知りたいです。
どなたかご教授お願いいたします。
補足
以下がソースコードです、プルダウンメニューとテキストフィールドで検索条件を分岐し、ページャーで表示します。 全表示ですと問題ないのですが、例えば女性のみを検索表示した場合、一ページ目は問題ないのですが、二ページ目から全表示のページの二ページ目になってしまいます。 データーベース名はdbname テーブル名はtbname にしています。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title></title> </head> <body> <table align="center"><tr><td> <form method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>"> <select name="attr"> <option value="all">全表示</option> <option value="sex">性別</option> <option value="address">住所</option> </select> <input type="text" name="kensaku"> <input type="submit" value="検索"> </form></td></tr></table> <?php $attr=$_POST['attr']; $kensaku=$_POST['kensaku']; if($attr==all){$jouken='';} if($attr==sex){$jouken='WHERE tbname.sex='."$kensaku";} if($attr==address){$jouken='WHERE tbname.address='."$kensaku";} //事前にMySQLに接続 $conn = mysql_connect("hostname,dbname,password); //データベースを選択 mysql_select_db("dbname", $conn); //ページング処理 //総レコード数を取得する //条件がある場合は、where 条件式を書く $sql = "SELECT COUNT(*) AS reccnt FROM tbname $jouken"; $res = mysql_query($sql, $conn) or die ("データ抽出エラー"); $row = mysql_fetch_array($res, MYSQL_ASSOC); $reccnt = $row["reccnt"]; //取り出す最大レコード数 $lim = 20; //最初と最後のページ番号を定義 $first = 1; $last = ceil($reccnt / $lim); //表示するページ位置を取得 $p = intval($_GET['p']); if ($p < $first) { $p = $first; } elseif ($p > $last) { $p = $last; } //表示するレコード位置を取得 $st = ($p - 1) * $lim; //前後のページ移動数と表示数 $page = 3; //前後$pageページ移動した際のページ番号を取得 $prev = $p - $page; $next = $p + $page; //前後1ページ移動した際のページ番号を取得 $prev1 = $p - 1; $next1 = $p + 1; //データーの検索と表示 $sql = "SELECT * FROM dat_order $jouken ORDER BY code DESC LIMIT $st, $lim;"; $res = mysql_query($sql, $conn) or die ("データ抽出エラー"); echo "<TABLE align=center>"; echo "<TR>"; echo "<TD>性別"; echo "</font></TD>"; echo "<TD>住所"; echo "</TD>"; echo "</TR>"; while($row = mysql_fetch_array($res, MYSQL_ASSOC)) { echo "<TR>"; echo "<TD>". $row[sex]; echo "</TD>"; echo "<TD>" . $row[address]; echo "</TD>"; echo "</TR>"; } echo "</TABLE>"; //ページ移動リンクの組み立て //1ページ前のページ echo "<TABLE border='0' align=center width=300 >"; echo "<TR>"; echo "<TD>"; if ($p > 1) { echo "<font size=\"4\"><a href=\"$_SERVER[PHP_SELF]?p=$prev1\"><</a></font> "; } //各ページ番号への移動リンクを表示 for ($cnt = $p - $page; $cnt <= $last; $cnt++) { if ($cnt < 1) { $cnt = 1; } $pageno = "<font size=\"4\"><a href=\"$_SERVER[PHP_SELF]?p=$cnt\">$cnt</a></font> "; //表示番号を指定数に区切る //ページ番号と現在のページが同一の場合は //リンク無しにする if ($cnt <= $p + $page) { if ($cnt == $p) { $pageno = "<font size=\"4\">$p</font> "; } echo $pageno; } } //1ページ後のページ if (($next1 - 1) * $lim < $reccnt) { echo "<font size=\"4\"><a href=\"$_SERVER[PHP_SELF]?p=$next1\">></a></font> "; } echo "<br>\n"; //最初のページへ移動 if ($p > 1) { echo "<font size=\"4\"><a href=\"$_SERVER[PHP_SELF]?p=$first\">最初</a></font> "; } //前の$pageページへ移動 if ($p > $page) { // << を $page"."ページ戻る にする事もできる echo "<font size=\"4\"><a href=\"$_SERVER[PHP_SELF]?p=$prev\"><<</a></font> "; } //次の$pageページへ移動 if (($next - 1) * $lim < $reccnt) { // >> を $page"."ページ進む にする事もできる echo "<font size=\"4\"><a href=\"$_SERVER[PHP_SELF]?p=$next\">>></a></font> "; } //最後のページへ移動 if ($p < $last) { echo "<font size=\"4\"><a href=\"$_SERVER[PHP_SELF]?p=$last\">最後</a></font> "; } echo "</TD>"; echo "</TR>"; echo "</TABLE>"; ?> </body> </html>