1. 程式人生 > >DEDE首頁自定義欄位、多條件搜尋功能

DEDE首頁自定義欄位、多條件搜尋功能

<select name="ca" id="ca"    style="width:100px; height:26px; font-size:14px;">
                           <option value="0">招聘狀態</option>
                            <option value="在招">在招</option>
                            <option value="待招">待招</option>
                            </select>
                  <select name="cb" id="cb"   style="width:100px; height:26px; font-size:14px;">
                           <option value="0">工作方式</option>
                            <option value="坐班">坐班</option>
                            <option value="站班">站班</option>
                            </select>
                             <select name="cc" id="cc"    style="width:100px; height:26px; font-size:14px;">
                           <option value="0">工作制</option>
                            <option value="兩班倒">兩班倒</option>
                            <option value="長白班">長白班</option>
                            <option  value="夜班">夜班</option>
                            </select>
						 <select name="cd" id="cd"    style="width:100px; height:26px; font-size:14px;">
                           <option value="0">工廠型別</option>
                            <option value="電子">電子</option>
                            <option value="五金">五金</option>
                            </select>
                            <input type="button" onclick="sel()" name="ww" id="ww" value="搜尋" style="width:60px; height:26px; font-size:14px;"/>
               	<SCRIPT language=JavaScript> 
                	function sel(){
                    var value="";
					var a=this.document.getElementById("ca").value;
					var b=this.document.getElementById("cb").value;
					var c=this.document.getElementById("cc").value;
					var d=this.document.getElementById("cd").value;
					if(a!=0||b!=0||c!=0||d!=0)
					{
						if (a!=0)
						{
							value=a;
						}
						if (b!=0&&value!="")
						{
							value=value+" "+b;
						}
						else if(b!=0&&value=="")
						{
							value=b;
						}
						if (c!=0&&value!="")
						{
							value=value+" "+c;
						}
						else if(c!=0&&value=="")
						{
							value=c;
						}
						if (d!=0&&value!="")
						{
							value=value+" "+d;
						}
						else if(d!=0&&value=="")
						{
							value=d;
						}
							
                 	document.writeln("<form  name=\"formsearch\" action=\"/plus/search2.php\">");
					document.writeln("<input type=\"hidden\" name=\"kwtype\" value=\"0\" />");
					document.writeln("<input type=\"hidden\" name=\"q\"  id=\"search-keyword\" value=\"");
					document.writeln(value);
					document.writeln("\" />");
				
					document.writeln("<input type=\"submit\"  value=\"\"  style=\" height:30px; font-size:14px;display:none;\" border=\"0\"/>");
					document.writeln("  </form>");
					document.forms["formsearch"].submit(); 
						}
						
					
                }
                </script>

其實我想直接在首頁調出來,然後用JS傳變數值過去,但不知道為什麼總是不成功(自己太水了),所以通過點選後用JS建立搜尋程式碼出來,就可以實現多條件搜尋。 然後在include/arc.searchview.class.php修改搜尋頁面程式碼(大概243行): 原始碼:$kwsqls[] = " CONCAT(arc.title,' ',arc.writer,' ',arc.keywords) LIKE '%$k%' "; 修改為:$kwsqls[] = " CONCAT(arc.diya,' ',arc.diyb,' ',arc.diyc,' ',arc.diyd) LIKE '%$k%' "; 因為原來的程式碼是模糊搜尋標題和內容的,所以我改成按我的條件搜尋,如果想首頁的關鍵字搜尋和條件搜尋共存,就分開arc.searchview.class.php和arc.searchview.class2.php再改前面的兩個搜尋檔案為search.php和search2.php。 首頁的kwtype,value="0"代表and搜尋,value="1"為or搜尋。 其實不需要用到原資料庫的欄位,只是本人比較懶,所以。。。希望對別人有幫助~~~~