用Js实现页面按名字搜索功能

  <div id="indexTable">
            

 </div>

在视图中可以创建这样一个空的标签


JS代码:

 function search() {
        var status = $("#status").val();
        var name = $("#name").val();
        $.post("控制器的Url", {
            name: name,
            status: status
        },
            function (data) {
                $("#indexTable").empty();
                $("#indexTable").append(data);
            }, 'html');
    };


获取视图中输入的名字的信息,并发出POST请求,将收到的信息填入<div>层中

$(function () {

    search();
    })

在加载页面之前也加载一遍数据,防止在未搜索的时候没有任何数据


控制器代码:

  public ActionResult LoadIndexTable(int pageIndex = 1)
        {
            int sum = 0;
            int total = 0;
            StringBuilder sb = new StringBuilder();
            sb.Append("../CampaignManage/LoadIndexTable?s=b");


            #region 数据处理




            //活动名称
            var name = Request.Params["name"];
            if (!string.IsNullOrEmpty(name))
            {
                sb.Append("&name=" + name);
            }
            else
            {
                name = "";
            }
            //状态
            var status = Request.Params["status"];
            if (!string.IsNullOrEmpty(status))
            {
                sb.Append("&status=" + status);
            }
            else
            {
                status = "0";
            }


            #endregion


            var table = new CampaignInfoMan().GetListByPage(name, out sum, out total,
                pageIndex);


            ViewBag.table = table;


            TempData["PageModel"] = new PagedViewModel()
            {
                PageIndex = pageIndex,
                PageCount = sum,
                IsFirstPage = pageIndex == 1,
                IsLastPage = pageIndex == sum,
                RequestUrl = sb.ToString(),
                PageSum = total
            };
            return PartialView("IndexTable");
        }



将数据从数据库中取出,放到一个IndexTable的分布视图中


public List<CampaignInfo> GetListByPage(string name, out int sum, out int totalCount, int pageIndex, int isComplete = 0, int pageSize = 10)
   {
       var t =
           db.CampaignInfos.Where(
               x =>
                   x.DataStatus == PublicEnumList.DataStatus.正常 && 
                        (name == "" || x.Name.Contains(name)) &&
                   (isComplete == 0 || (x.StartTime != null && x.EndTime != null && x.SourceIds != "")));


            totalCount = t.Count();
            sum = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;


            return t.OrderByDescending(c => c.Id).Take(pageSize * pageIndex).Skip(pageSize * (pageIndex - 1)).ToList();
        }
}


业务逻辑层代码:

public List<CampaignInfo> GetListByPage(string name, out int sum, out int totalCount, int pageIndex, int isComplete = 0, int pageSize = 10)
   {
       var t =
           db.CampaignInfos.Where(
               x =>
                   x.DataStatus == PublicEnumList.DataStatus.正常 && 
                        (name == "" || x.Name.Contains(name)) &&
                   (isComplete == 0 || (x.StartTime != null && x.EndTime != null && x.SourceIds != "")));


            totalCount = t.Count();
            sum = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;


            return t.OrderByDescending(c => c.Id).Take(pageSize * pageIndex).Skip(pageSize * (pageIndex - 1)).ToList();
        }
}

将数据按名字提取出来

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现搜索功能一般需要以下步骤: 1. 在页面上添加搜索框和搜索按钮,用户输入关键词后点击搜索按钮触发搜索功能。 2. 编写PHP代码处理搜索请求,通常可以使用$_GET或$_POST获取用户输入的关键词。 3. 连接数据库,查询符合搜索条件的数据。可以使用MySQL等数据库来存储数据。 4. 将查询结果显示在页面上,可以使用HTML、CSS和JavaScript等技术来美化页面。 下面是一个简单的示例,演示如何使用PHP实现搜索功能: 1. 在HTML页面中添加搜索框和搜索按钮: ```html <form action="search.php" method="get"> <input type="text" name="keyword" placeholder="请输入关键词"> <button type="submit">搜索</button> </form> ``` 2. 编写PHP代码处理搜索请求: ```php <?php // 获取用户输入的关键词 $keyword = $_GET['keyword']; // 连接数据库 $conn = mysqli_connect('localhost', 'username', 'password', 'database_name'); // 查询符合搜索条件的数据 $sql = "SELECT * FROM table_name WHERE column_name LIKE '%$keyword%'"; $result = mysqli_query($conn, $sql); // 将查询结果显示在页面上 while ($row = mysqli_fetch_assoc($result)) { echo $row['column_name']; } // 关闭数据库连接 mysqli_close($conn); ?> ``` 这个示例中,我们使用了MySQL数据库,并使用了LIKE语句来模糊匹配关键词。当用户输入关键词后,PHP代码会从数据库中查询符合条件的数据,并将结果显示在页面上。 注意:为了避免SQL注入攻击,我们应该对用户输入进行过滤和验证。可以使用mysqli_real_escape_string函数来过滤用户输入的字符串,或使用预处理语句来防止SQL注入攻击。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值