PageAdmin网站内容管理系统(CMS)交流论坛

注册

 

QQ登录

只需一步,快速开始

发新话题 回复该主题

新建单表搜索功能无效【未解决】 [复制链接]

1#
网站为 http://chinayeah.com.cn/

按照http://www.pageadmin.net/article/2015/1096.html的教程做的


但是搜索任何词都无效  比如“护士”  “经理” 都弹出 对不起,没有您要找的记录。
搜索模型序号49,

请问如何解决呢?
首页搜索框代码如下
  1. <div style="clear:both;overflow:hidden;">
  2. <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" />
  3. <script type="text/javascript">
  4. function search_kw()
  5. {
  6. var search_url="/Search/Search_details/";
  7. var searchkw=document.getElementById("searchkw");
  8. if(searchkw.value==""||searchkw.value=="请输入文章的关键字")
  9. {
  10. alert("请输入搜索关键词!");
  11. searchkw.focus();
  12. return;
  13. }
  14. if(search_url.indexOf("?")<0) { search_url+="?"; } else { search_url+="&"; } search_url+="kw="+encodeURIComponent(searchkw.value); location.href=search_url; } </script>
  15. </div>
复制代码
搜索页面内代码如下
  1. <script language="c#" runat="server">
  2. string Sql_Format(string str,bool isFuzzyQuery)
  3. {
  4. if(string.IsNullOrEmpty(str)){return string.Empty;}
  5. str=Server.UrlDecode(Server.UrlEncode(str).Replace("%00",""));
  6. str=str.Replace("'","''");
  7. str=str.Replace("\"","\"");
  8. if(isFuzzyQuery)
  9. {
  10. str=str.Replace("[]","[[]]");
  11. str=str.Replace("[","[[]");
  12. str=str.Replace("]","[]]");
  13. str=str.Replace("_","[_]");
  14. str=str.Replace("%","[%]");
  15. str=str.Replace("^","[^]");
  16. }
  17. return str;
  18. }

  19. protected string SubStr(string Title,int Title_Num,bool HtmlEncode)
  20. {
  21. if(Title_Num==0)
  22. {
  23. return ""; }
  24. else
  25. {
  26. System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("[\u4e00-\u9fa5]+", System.Text.RegularExpressions.RegexOptions.Compiled);
  27. char[] stringChar = Title.ToCharArray();
  28. StringBuilder sb = new StringBuilder();
  29. int nLength = 0;
  30. for(int i = 0; i < stringChar.Length; i++)
  31. {
  32. if (regex.IsMatch((stringChar[i]).ToString()))
  33. {
  34. nLength += 2;
  35. }
  36. else
  37. {
  38. nLength = nLength + 1;
  39. }
  40. if(nLength <= Title_Num)
  41. {
  42. sb.Append(stringChar[i]);
  43. }
  44. else
  45. {
  46. break;
  47. }
  48. }
  49. if(sb.ToString() != Title)
  50. {
  51. sb.Append("...");
  52. }
  53. if(HtmlEncode)
  54. {
  55. return Server.HtmlEncode(sb.ToString());
  56. }
  57. else
  58. {
  59. return sb.ToString();
  60. } }
  61. }
  62. </script>
  63. <ul class="search_list">
  64. <%
  65. string Table="article";//搜索的表名称
  66. string sql_condition="";
  67. string kw=Request.QueryString["kw"];
  68. if(string.IsNullOrEmpty(kw))
  69. {
  70. Response.Write("<li class='noitem'>对不起,没有您要找的记录。</li>");
  71. }
  72. else
  73. {
  74. string url="";
  75. kw=Sql_Format(kw.Trim(),true);
  76. kw=SubStr(kw,30,true).Replace("...","");
  77. sql_condition+=" and title like '%"+kw+"%'";
  78. string sql="select * from "+Table+" where site_id="+Site_Id+" and checked=1 and source_id=0 "+sql_condition;
  79. string countsql="select count(id) as co from "+Table+" where site_id="+Site_Id+" and checked=1 and source_id=0"+sql_condition;
  80. DataTable dt=Get_Data(sql,countsql,10);
  81. DataRow dr;
  82. if(dt.Rows.Count>0)
  83. { for(int i=0;i<dt.Rows.Count;i++)
  84. {
  85. dr=dt.Rows[i]; //说明:给dr赋值
  86. url=Detail_Url(dr,Table);
  87. %>
  88. <li><span class="title"><a href="<%=url%>" target="_blank"><%=dr["title"]%></a></span>
  89. <span class="date"><%=((DateTime)dr["thedate"]).ToString("yyyy-MM-dd")%></span>
  90. </li>
  91. <%
  92. }
  93. }
  94. else
  95. {
  96. Response.Write("<li class='noitem'>对不起,没有查询到匹配的记录,您可以更换关键词重新搜索。</li>");
  97. }
  98. }
  99. %>
  100. </ul>
  101. <script type="text/javascript">
  102. var kw="<%=Server.HtmlEncode(Request.QueryString["kw"])%>";
  103. if(kw!="" && Id("searchkw")!=null)
  104. {
  105. Id("searchkw").value=kw;
  106. }
  107. </script>
复制代码
2016-10-11_124312.jpg (, 下载次数:0)

(2016/10/11 12:47:37 上传)

2016-10-11_124312.jpg

2.jpg (, 下载次数:0)

(2016/10/11 12:47:37 上传)

2.jpg

分享 转发
TOP
2#

xiyou小朋友呢??????????
TOP
发新话题 回复该主题