DEDE首頁自定義欄位、多條件搜尋功能
阿新 • • 發佈:2019-01-04
<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搜尋。 其實不需要用到原資料庫的欄位,只是本人比較懶,所以。。。希望對別人有幫助~~~~