• 締切済み

次ページでもリストボックスの値を所持するには

先日も質問させた頂きましたが、また、わからなくなってしまい質問させて頂きました。 【トップページ(A.html)】にある「リストボックス(複数選択可能)」からいくつかを選択し、「実行ボタン」を押すとDB(Mysql)から検索した結果を【結果ページ(B.php)】に表示しております。 検索結果が1ページでおさまる場合は問題ありませんが、2ページ以上になった場合にリストボックスの値が分割(?)された値になってしまっております。 ・2ページ目以降の結果を表示させようと、「次ページへ」というリンクをクリックすると、検索結果の2ページ以降が表示されず、その代わりにSQLで全件表示をした場合の2ページ目以降が表示される。 ・ブラウザの「戻る」ボタンではなく、「前ページへ」というリンクをつかって1ページ目に移動すると、SQLで全件表示をした場合の1ページ目が表示される。 どのようにすれば、2ページ以降もリストボックスの値を持っていることができるのでしょうか。 ご教授をお願い申し上げます。 【トップページ(A.html)】 <form method='GET' action='B.php'>  <select name="color[]" size="5" multiple>  <option value="red" selected>赤</option> <option value="blue">青</option> <option value="green">緑</option>  </select> </form> でB.phpでリストボックスの値を$color[0]~$color[2]で受け取っております。 例として・・・(赤だけを選択して実行ボタンを押した場合) $color[0]→red $color[1]&[2]→空 で受け取れましたが、次ページへをクリックし、$color[0]~$color[2]を確認してみると $color[0]→r $color[1]→e $color[2]→d となってしまっております。 非常にわかりずらいかと思いますが、よろしくお願い致します。

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • neosys
  • ベストアンサー率50% (3/6)
回答No.1

その1ページから2ページ目に行くリンクが記述されていないので想像の範囲内ですが、1ページ目のURLで『color%5B%5D=選択した値』となっていたのが、2ページ目では『color=選択した値』となっていませんか? 2ページ目に行くためのリンクに問題があるような気がします。

php_bigin
質問者

お礼

neosys様 ご回答ありがとうございました。 ご指摘頂きましたURLを確認したら、意図しないURLとなっていたので、URLの与え方を変更し、セッションで変数を管理したら、うまくいけました。 言葉たらずの質問だったのに、的確なご回答が頂けたおかげ改善できました。ありがとうございました。

関連するQ&A

  • リストボックスの値の再表示

    こんにちは! リストボックスを選択した後に、submitボタンを押して同一 ページに飛んだ際に、選択したリストボックスの値を表示させたい (一番上の値に戻ってしまいます。) のですがどのようにすれば可能でしょうか? ちなみにリストボックスはAccessをADO接続しています。

  • DBの値をリストボックスの初期位置にしたい

    php,mysqlを使ってホームページを作っています。 ユーザー登録で入力した値をDBに書き込み、次にユーザー登録情報編集でその値をリストボックスに表示させたいのですがやり方を教えてください。DBに書き込むところまではできましたが、編集画面がうまく作れません。 (例) リストボックス  --- ←ユーザー登録画面での初期位置  東京  神奈川  千葉 リストボックス  東京  神奈川 ←DBに書き込まれた値が初期位置になるようにしたい  千葉 <select size="1" name="area"> <option value="" selected>--- <option value="東京">東京</option> <option value="神奈川">神奈川</option> <option value="千葉">千葉</option>

    • ベストアンサー
    • PHP
  • リストボックスの全ての値を取得するには?

    エクセルのシート上のリストボックスに あああ いいい が表示されてるとして、 その二つの値をコマンドボタンを押した際に取得したいのですが Private Sub cmd_取得_Click() MsgBox Me.ListBox1.Value End Sub だと現在リストボックスで選択中の値しか取得されません。 リストボックスであああが選択中なら、 あああしか返ってきません。 あああ、いいいをVBAで取得する方法を教えてください。

  • リストボックスから直接引き金を引く

    お世話になります。 早速ですが、 今、あるaplを書いていまして、 処理内容はリストボックスからキーを選択させ、 そのキーでDBを検索、表示するというモノです。 現在のロジック、つくりは、 リストボックスの下に(「表示」という)ボタンを設置してあり、 リストボックスからキーを選択した後、 そのボタンを押すことでcgiに戻りDBを検索する、 となっています。 <FORM action="./DB.cgi" method="POST"> <div> <select name="key" size="3"> <option value="aaa">aaa <option value="bbb">bbb <option value="ccc">ccc <option value="ddd">ddd <option value="eee">eee <option value="fff">fff </select> </div> <input type=submit value="表示"> <input type="hidden" name="mode" value="display"> </FORM> ここで質問ですが、 リストボックスからキーを選択したらそのままDB検索へ移行するような コードを教えて欲しいのです。 (いちいち表示ボタンを押さなくて良いやり方です) 以上、宜しくお願いします。

    • ベストアンサー
    • Java
  • リストボックスを使って検索フォームを作りたいのですが

    教えて!gooの質問フォームのようなものが作りたいのですが出来なくて困っています。 リストボックスを2つ設けて、最初のリストボックスから選んだ項目によって、次のリストボックスに表示させる項目を選択したいのですが。 例えば、下のlist1のリストボックスから「名前」を選んだ場合にはlist2のリストボックスに氏名を、「日付」を選んだ場合には日付をリストに表示したいですが... <SELECT name="list1"><OPTION value=default>検索項目</OPTION> <option value=name>名前</option>); <option value=date>日付</option>); <option value=team>チーム</option>); </SELECT> <SELECT name="list2"><OPTION value=default>氏名</OPTION> <option value=suzuki>鈴木</option>); <option value=sato>佐藤</option>); <option value=tanaka>田中</option>); </SELECT> <SELECT name="list2"><OPTION value=default>日付</OPTION> <option value=2004>2004年度</option>); <option value=2003>2003年度</option>); <option value=2002>2002年度</option>); </SELECT> 書き方や説明が分かりにくいかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP セレクトボックスの値 GET渡し

    PHP初心者です。 大急ぎで対応を要求されていますので皆様のお力添えをよろしくおねがいします。 画面に検索キーとしてのセレクトボックスがあります。 ボタンではなくリンクのonClickで選択された値をGETで渡したいのです。 どのように記述したらよいか教えてください。 検索キーのリストボックス(2012を選択した状態です) <select name="search_orderyear"> <option value="2005" label="2005">2005</option> <option value="2006" label="2006">2006</option> <option value="2007" label="2007">2007</option> <option value="2008" label="2008">2008</option> <option value="2009" label="2009">2009</option> <option value="2010" label="2010">2010</option> <option value="2011" label="2011">2011</option> <option selected="selected" value="2012" label="2012">2012</option> </select> 渡す値をセットしている箇所(xxxは外部function名です) onClick="xxx('pdf.php?orderyear=<!--{$search_ordermonth.value}-->',・・以下省略 としてみましたが、値はわたりませんでした。 上記説明で不足部分があればご指摘ください。 よろしくおねがいいたします。 PHP 5.2.9

    • ベストアンサー
    • PHP
  • リストボックスの入力チェックについて

    リストボックスの入力チェックについて PHP初心者です。といいますか、プログラムそのものが初心者なので、 説明が分かりにくい部分があったら申し訳ございません。 以下のソースのように、フォームに「選択してください」「青森」「秋田」「岩手」 の4つの項目があるリストボックスを作成しました。 もし、県名が選択されず「選択してください」のままフォームを送信した場合、 下記のphpソース部分にあるようなエラーメッセージを表示させたいのですが、 真っ白いページが表示され何も表示されません。 原因をご存知の方、どうかご教示ください。 よろしくお願いいたします。 //---htmlフォーム部分 <form action="form02.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <select name="pref" id="pref"> <option value="misenntaku" selected="selected">選択してください</option> <option value="aomori">青森</option> <option value="akita">秋田</option> <option value="iwate">岩手</option> </select> <p><input type="submit" value="内容を確認する" /><p> </form> //-----phpソース部分 <?php if ($_POST['pref'] == 'misenntaku' ) { print '県名を選択してください' . '<br><br>'; print '<a href="form02.html">戻って入力する</a>'; } ?>

    • ベストアンサー
    • PHP
  • リストボックスの値の保存

    教えて下さい。 リストボックスの値がページをめくると白紙に戻ってしまうのはどうしてですか? 原因は、リストボックスの選択解除のVBAを入れているからですか・・・?

  • XMLの値をリストボックスで選択したい

    XSLTで悩んでいます・・・ XMLが以下の内容で、 <aaa><bbb>123</bbb></aaa> XSLTでテキストボックスに表示をさせる場合 <input type="text" name="hoge" value="{/aaa/bbb}"> となりますが、 セレクトボックスでXMLと同じ値を選択させたいのです。 <select name="hogesel"> <option value="121"> <option value="122"> <option value="123"> ←これを選択させたい </select> XSLT、JavaScript等使用してselectedが行える方法がありますでしょうか? ご存知の方がいらっしゃいましたらご教授願います。

    • 締切済み
    • XML
  • リストボックス間で値をコピーする方法について

    リストボックス間で値をコピーしたいと思い、http://jsajax.com/Articles/listbox/339の「このサンプルを編集して試してみる」を参考に変更を行っていたのですが、どうすればできるか分からないことがあったので、アドバイスいただける方がいらっしゃいましたら、ご教示の程、よろしくお願いします。 1. →ボタン押下時、リンク先のプログラムでは移動動作をおこないますが、これを選択中のアイテムが右のリストボックスに存在しなければコピーし、右のリストボックスに存在する場合は何も動作しないようにしたいと思います。 ソース内の下記の部分で削除動作をしているようなので、removeを削除すれば消えなくなると思いますが、そうすると無限ループしてしまうと思います。 while ( fromBox.selectedIndex >= 0 ) { // 略 fromBox.remove(fromBox.selectedIndex); } そのため、上記のwhileではなく、その時選択中のアイテム数を取得し、forなどでループ(その際、selectedIndexの取得方法には工夫が必要?)させるとやりたいことができるのかなと思いましたが、具体的にどう記述すればよいかわかりませんでした。 2. (出来れば)1のコピー後、左のリストボックスのアイテムの中で、 右のリストボックスに存在するアイテムのフォント色を変えたいと思います。 3. ←ボタン押下時、右のリストボックスからアイテムを消去したいと思います。 これは←ボタン押下時のみtoBox.options[toBox.length] = newOption;を実行しなければできるのかなと思いましたが、1番のコピー動作ができていないため、あくまで想像となります。 4. (出来れば)右から左へ移動時、2番の動作が実現できていてフォント色が変更されている場合、基に戻したいと思います。 なお、2と4については、あらかじめスタイルシートにスタイルを定義しておき、 toBox.options.length分、toBox.options[i].valueの値を得た上で、fromBox.options[fromBox.selectedIndex].valueと一致するものがあれば、classを付加し、fromBox.options[fromBox.selectedIndex].valueと一致するものがなければclassを付加しなければできるのかなと思いましたが、具体的にどう記述すればよいかわかりませんでした。 以上、よろしくお願いします。

専門家に質問してみよう