php - 在 Laravel 中根据表单值搜索数据
问题描述
我有一个搜索表格,您可以在其中选择不同的城市和房屋类型。谁能告诉我如何将输入的表单数据放入 URL 并在 Laravel 中使用 GET 方法显示过滤后的数据?
谢谢你。
解决方案
<?php
$selectedcities=[];
if (\Illuminate\Support\Facades\Input::has('city')) {
foreach (\Illuminate\Support\Facades\Input::get('city') as $c) {
$selectedcities[] = $c;
}
}
?>
<script>
$(document).ready(function() {
$('.refine-your-search input[type=checkbox]').click(function() {
var prm = $(this).closest('div').attr('id');
searchByCheckbox(prm);
});
});
function searchByCheckbox(prm) {
var searchString = '';
var searchString = $('#'+prm+'String').val();
if (searchString != '') {
searchString = searchString + '&';
}
var tmpQString = '';
$('#'+prm+' input[type=checkbox]:checked').each(function() {
if(tmpQString != ''){
tmpQString = tmpQString + '&';
}
tmpQString = tmpQString + prm + '[]=' + $(this).val();
});
// alert(tmpQString);
searchString = searchString + tmpQString;
var searchUrl = baseUrl + '?' + searchString;
window.location.replace(searchUrl);
return window.location.href = searchUrl;
}
</script>
<div id='city'>
<!-- use foreach for all cities -->
<input type="checkbox" value="Cityname" name="city[{{ $city->id }}]" {{ (in_array($city->id, $selectedcities)) ? 'checked="checked"' : '' }}>
<label>{{$city->name}}</label>
<input type="hidden" id="cityString" name="cityString" value="<?php echo http_build_query(Request::except(['city']));?>">
<!-- end foreach -->
</div>
<!-- In Controller you can get -->
<?php
$city = $request->city; //and use it in your query LIKE
?>
推荐阅读
- visual-studio-2017 - Visual Studio SSRS 2016 - 在环境变化时切换数据源
- oracle - 访问 2016 通过查询失败,但链接表工作
- drupal-modules - 多个项目指向同一个节点时,节点菜单链接与活动轨迹不一致
- .net - 您可以将 WCF 端点添加到 .NET API
- python - keras:记录逐层学习率
- sql - 如何使用基于 SQL Server 中的 2 列的分组依据
- java - 如何将 tradefed FileUtil 依赖项添加到 Android 应用程序中?
- c++ - 右值的成员访问运算符应该是 xvalue 吗?
- javascript - 如何制作出现在滚动条上的导航栏?
- docker - 获取 https://registry-1.docker.io/v2/:拨打 tcp 34.201.236.93:443:连接:连接被拒绝