Laravel - 能够使用AJAX过滤数据库

时间:2017-10-09 19:50:06

标签: javascript php jquery mysql ajax

这是我第一次尝试过滤和搜索mySQL数据库。从我的研究中我发现我需要一个AJAX调用和一些PHP查询来帮助我实现我想要实现的过滤。

这就是我想要AJAX搜索的目的:

  • 有一个“应用”按钮。当我单击按钮时,我想要生成一个URL并发生AJAX调用。
  • 仅重新加载查询数据所满足的部分页面。

到目前为止,我已设法创建了这个:

$("#filteridname").change(function() {
    $value=$(this).val();
      $.ajax({
        type: "get",
        url: "{{$myurl}}",
        data: {'search':$value},
        success: function(data){
          $('#data-holder').html(data);
        }
    });
});

这设法在其中一个过滤器中创建URL,但不考虑其他过滤器。我也没设法创建按钮。我猜你在PHP中需要一个where语句来过滤数据库吗?

有人愿意协助我为过滤器创建AJAX调用和PHP查询吗?

我总共有三个过滤器,当我点击一个按钮时,我想要一个AJAX调用,用三个过滤器过滤我的数据库并返回结果,而不必重新加载整个网页。

编辑:这是我的JS AJAX查询:

$("#apply").click(function() {
    $country=$('#filter-country').val();
    $type=$('#filter-type').val();
    $year=$('#filter-year').val();
    $.ajax({
        type: "GET",
        url: "{{$launchsitename->site_code}}",
        data: {'country':$country, 'type':$type, 'year':$year},
        success: function(data) {
            $('#data-holder').append(data);
        }
    });
});

现在我只需要创建一个PHP查询。

1 个答案:

答案 0 :(得分:0)

你可以使用名为.Append()而不是.html()的礼节,在这里你也可以获得一个元素值,如果你想在一个按钮上点击它们中的三个,你可以使它变得相同你得到第一个的val的方法,只是将它添加到请求中并在PHP中处理它以分割和执行每个或者只是将它们中的三个传递给你的程序,取决于你拥有的东西

  $("#filteridname").change(function() {
        $value=$(this).val();
          $.ajax({
            type: "get",
            url: "{{$myurl}}",
            data: {'search':$value},
            success: function(response){
              $('#data-holder').append(response);
            }
        });
    });

Read about .append()