在本页面处理请求
需求:
在本页面进行搜索请求处理;
如果用户没有输入内容提交,我们要显示所有列表信息;
如果用户输入了内容再提交,我们要查询匹配查询信息的数据内容并显示。
步骤一:先判断是否输入了查询信息
1.将我们要用到的列表数据文件包含进来
<?php include 'data/data_lol_list.php'; ?>
2.开始判断,首先要定义个空数组去接收列表数据文件中的数组。-
if 条件1:
如果接收到数据($_GET过来的数据)则用一个变量接收这个数据;$hero = $_GET['hero'];
并判断设个数据的长度是否为0(因为用户有可能输入的是个空字符串但是也点了提交 那么也get的到数据 但是是个空数据); 条件1.1:if 当数据长度为0 的时候 把所有列表数据信息都展示在当前页面。让空数组=列表数据数组,在下方html结构中渲染到页面上。
条件1.2:else(数据长度不为0);去数据文件中匹配与接收到的搜索条件相符的数据--用strstr()这个函数去匹配;让空数据=符合搜索条件的列表数据数组;再把数据在下方html结构中渲染到页面上去。
else 条件2:
如果一开始就没有接收到数据 也把所有列表数据信息都展示在当前页面。让空数组=列表数据数组,在下方html结构中渲染到页面上。(与条件1.1相同)
<!--如果用户没有输入内容 我们要显示所有 如果输入了显示指定英雄-->
<?php
include 'data/data_lol_list.php';
// 定义一个空数组去接受heroArr的数据
$newarr = array();
if(isset($_GET['hero'])){
// 如果这个变量存在(get过来的数据)
// 获取到这个变量
$hero = $_GET['hero'];
if(strlen($hero)==0){
// 如果获取到的数据为 即这个变量长度为0
// 显示本页面 把heroArr的数据给data
$newarr = $heroArr;
}else{
// 如果获取到变量值不为空 即长度不为0
// 就把匹配这个get过来的值的数据放到data里 跟之前做法一样 匹配
foreach($heroArr as $v){
if(strstr($v['champion_name'],$hero)){
// 如果相同将相同的这个$v存到之前定义的新数组中
$newarr[]=$v;
}
}
}
}else{
// 如果变量(get过来的数据)不存在
$newarr = $heroArr;
}
?>
在本页提交处理 所以action不写 但是一般不会在本页处理