网站为
http://chinayeah.com.cn/按照
http://www.pageadmin.net/article/2015/1096.html的教程做的
但是搜索任何词都无效 比如“护士” “经理” 都弹出 对不起,没有您要找的记录。
搜索模型序号49,
请问如何解决呢?
首页搜索框代码如下
- <div style="clear:both;overflow:hidden;">
- <input size="15/" maxlength="50" value="请输入文章的关键字" onfocus="javascript:if(this.value=='请输入文章的关键字')this.value='';" id="searchkw" name="title" style="height:28px;border:1px solid #EA3939;width:210px;line-height:28px;" type="text" /><input value=" 搜索 " class="ss_ok" onclick="search_kw()" type="submit" />
- <script type="text/javascript">
- function search_kw()
- {
- var search_url="/Search/Search_details/";
- var searchkw=document.getElementById("searchkw");
- if(searchkw.value==""||searchkw.value=="请输入文章的关键字")
- {
- alert("请输入搜索关键词!");
- searchkw.focus();
- return;
- }
- if(search_url.indexOf("?")<0) { search_url+="?"; } else { search_url+="&"; } search_url+="kw="+encodeURIComponent(searchkw.value); location.href=search_url; } </script>
- </div>
复制代码搜索页面内代码如下
- <script language="c#" runat="server">
- string Sql_Format(string str,bool isFuzzyQuery)
- {
- if(string.IsNullOrEmpty(str)){return string.Empty;}
- str=Server.UrlDecode(Server.UrlEncode(str).Replace("%00",""));
- str=str.Replace("'","''");
- str=str.Replace("\"","\"");
- if(isFuzzyQuery)
- {
- str=str.Replace("[]","[[]]");
- str=str.Replace("[","[[]");
- str=str.Replace("]","[]]");
- str=str.Replace("_","[_]");
- str=str.Replace("%","[%]");
- str=str.Replace("^","[^]");
- }
- return str;
- }
- protected string SubStr(string Title,int Title_Num,bool HtmlEncode)
- {
- if(Title_Num==0)
- {
- return ""; }
- else
- {
- System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("[\u4e00-\u9fa5]+", System.Text.RegularExpressions.RegexOptions.Compiled);
- char[] stringChar = Title.ToCharArray();
- StringBuilder sb = new StringBuilder();
- int nLength = 0;
- for(int i = 0; i < stringChar.Length; i++)
- {
- if (regex.IsMatch((stringChar[i]).ToString()))
- {
- nLength += 2;
- }
- else
- {
- nLength = nLength + 1;
- }
- if(nLength <= Title_Num)
- {
- sb.Append(stringChar[i]);
- }
- else
- {
- break;
- }
- }
- if(sb.ToString() != Title)
- {
- sb.Append("...");
- }
- if(HtmlEncode)
- {
- return Server.HtmlEncode(sb.ToString());
- }
- else
- {
- return sb.ToString();
- } }
- }
- </script>
- <ul class="search_list">
- <%
- string Table="article";//搜索的表名称
- string sql_condition="";
- string kw=Request.QueryString["kw"];
- if(string.IsNullOrEmpty(kw))
- {
- Response.Write("<li class='noitem'>对不起,没有您要找的记录。</li>");
- }
- else
- {
- string url="";
- kw=Sql_Format(kw.Trim(),true);
- kw=SubStr(kw,30,true).Replace("...","");
- sql_condition+=" and title like '%"+kw+"%'";
- string sql="select * from "+Table+" where site_id="+Site_Id+" and checked=1 and source_id=0 "+sql_condition;
- string countsql="select count(id) as co from "+Table+" where site_id="+Site_Id+" and checked=1 and source_id=0"+sql_condition;
- DataTable dt=Get_Data(sql,countsql,10);
- DataRow dr;
- if(dt.Rows.Count>0)
- { for(int i=0;i<dt.Rows.Count;i++)
- {
- dr=dt.Rows[i]; //说明:给dr赋值
- url=Detail_Url(dr,Table);
- %>
- <li><span class="title"><a href="<%=url%>" target="_blank"><%=dr["title"]%></a></span>
- <span class="date"><%=((DateTime)dr["thedate"]).ToString("yyyy-MM-dd")%></span>
- </li>
- <%
- }
- }
- else
- {
- Response.Write("<li class='noitem'>对不起,没有查询到匹配的记录,您可以更换关键词重新搜索。</li>");
- }
- }
- %>
- </ul>
- <script type="text/javascript">
- var kw="<%=Server.HtmlEncode(Request.QueryString["kw"])%>";
- if(kw!="" && Id("searchkw")!=null)
- {
- Id("searchkw").value=kw;
- }
- </script>
复制代码