サポート » 使い方全般 » チェックボックスで複数選択して検索結果に出したいのですが

  • チェックボックスで複数選択して検索結果に出したいのですが、同じような質問を見つけて読んでみたのですが、さっぱり意味が分からなくって、どうすればいいのか困ってます。。。

    初めてのワードプレスで、仕組みがまだよく分からないままなので、どのファイルに記述をしてどこを変更すればいいのか。。。

    どなたか手順を分かりやすく教えていただけないでしょうか。

    よろしくお願いします!

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • 重複orz

    質問をする際には最低限、使用しているworspressのバージョンとテーマ等の環境
    出来れば、関係しているプラグインなどの情報をください

    今回検索ということですが何を検索するのでしょうか
    タグでしょうか?カテゴリでしょうか?
    カスタムフィールドやそれ以外の情報になるのでしょうか?

    基本はチェックボックスのvalueに値を入れておき
    それを元に検索クエリを作るなどして使用するのですが
    現状、検索は使用されていますか?
    されているのであれば、その部分のPHPないしJavaScriptのコードが見られれば幸いです。

    参考なるかは不明ですがチェックボックス等の説明を……
    PHPとデータベースを出来るだけ弄らない作り方で

    <script language="JavaScript">
    	function allcheck(chkFrm){
    		//検索用文字列
    		strcode = "";
    
    		//form内のオブジェクトを全て探査
    		for(n=0;n <= chkFrm.length - 1;n++){
    			//それがチェックボックスなら処理
    			if(chkFrm.elements[n].type == "checkbox"){
    				//チェック入っているものだけ処理
    				if(chkFrm.elements[n].checked){
    					//検索用文字列生成、初回か否か
    					if(strcode == ""){
    						//先頭の物にはカンマを付けない
    						strcode = chkFrm.elements[n].value;
    					}else{
    						//検索用文字列連結
    						strcode = strcode + "," + chkFrm.elements[n].value;
    					}
    				}
    			}
    		}
    		//手っ取り早くテキストボックスに渡して検索させる
    		chkFrm.cat.value = strcode;
    	}
    </script>
    <!-- actionは自分の物をお願いします -->
    <form name="send_form" id="send_form" method='GET' action='http://dmain.net/wordpress'>
    	<table>
    		<tr>
    			<td><input type='checkbox' name='check1' id='check1' value='1'><label for='label-CK1'>チェックボックス1</label></td>
    			<td><input type='checkbox' name='check2' id='check2' value='2'><label for='label-CK2'>チェックボックス2</label></td>
    		</tr>
    		<tr>
    			<td><input type='checkbox' name='check3' id='check3' value='3'><label for='label-CK3'>チェックボックス3</label></td>
    			<td><input type='checkbox' name='check4' id='check4' value='4'><label for='label-CK4'>チェックボックス4</label></td>
    		</tr>
    	</table>
    
    	<div class="outLine">
    		<!--見えないテキストボックス(文字列検索用)-->
    		<input type="text" name="s" id="s" size="50" style="display:none"/><br />
    		<!--見えないテキストボックス(カテゴリ検索用)-->
    		<input type="text" name="cat" id="cat" size="50" style="display:none"/><br />
    		<!--見えないテキストボックス(タグ検索用)-->
    		<input type="text" name="tag" id="tag" size="50" style="display:none"/><br />
    	</div>
    
    	<div class='btn'>
    		<input type="image" src="<?php bloginfo('template_directory'); ?>/images/kensaku.jpg" id="submit" value="検索" onClick="allcheck(this.form)"/>
    	</div>
    </form>

    submitする際に検索結果へ飛びますが、フォーム内のオブジェクトの情報も渡します
    なのでdisplay:noneで非表示にして値だけ渡して検索します
    オブジェクトのnameで検索指定が変わります
    s=文字列
    cat=カテゴリ
    tag=タグ
    適当に作ったので未検証ですが
    データベース構造を理解して検索クエリの生成まで分からないと複雑な検索は出来ないです

    追記
    カテゴリとタグにはIDが存在しますのでvalueの値が数値なのはIDで検索しているからです
    文字列の検索は文字通りページに含まれる文字列を入れてやって下さい

    途中質問すみません。
    こちらに記載されているソースコードを参考させて頂きました。

    ■「check1」「check3」にチェックを入れたら「check1」「check3」にチェックをされているものが全て表示できます。

    こちらを
    ■「check1」「check3」にチェックを入れたら「check1」かつ「check3」にチェックをされているものを表示させるにはどのようにするのがベストでしょうか?

    簡単なご質問ですが、ご教授して頂ければ幸いです。
    どうぞよろしくお願いいたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「チェックボックスで複数選択して検索結果に出したいのですが」には新たに返信することはできません。