一、前台获取
1、<form action=“test_base.php”>标签的action属性
当提交表单时,表单数据会提交到名为test_base.php的页面
2、URL传参
对href=“请求地址”。在请求地址后面加“?”+“变量名+变量值”的形式来传递参数。多个参数之间用“&”连接。
前台代码:<a href="test_base.php?order=e_id&sort=<?php echo $sort ==
"desc" ? "asc":"desc";?>">ID</a>
在该代码中使用了一个三木运算符,这样的效果是通过点击时信息进行升序和降序的转换。“asc”为升序 “desc”为降序。
二、后台接收
1、后台数组接收
因为URL传参可以被手动修改,所以需要验证,所以我们现在前台用数组接收。
$fidlds =array('e_name','e_dept','date_of_entry','e_id');
1、验证
$sort = isset($_GET['sort']) ? $_GET['sort']:"";//判断是否前台是否单机
$order =isset($_GET['order'])?$_GET['order']:"";
if (in_array($order,$fidlds)){
$sql_order = " ORDER by $order $sort";
}else{
$sql_order="";
}
4、执行sql语句
(1)ORDER BY 是对查询结果进行排序的sql子句。Eg:ORDER BY 字段名 [asc|desc]。
(2)$sql_order = " ORDER by $order $sort";
(3)in_array()搜索数组中是否存在指定的值
if (in_array($order,$fidlds)){
$sql_order = " ORDER by $order $sort";
}else{
$sql_order="";
}
对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。
Isset()检测变量是否设置,并且不是 NULL。