根据你的问题,个人理解可以用PHP做一下$_POST值的判断,然后采用不同的SQL语句,例如:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、虚拟主机、营销软件、网站建设、舞钢网站维护、网站推广。
?php
header("Content-Type: text/html; charset=utf-8");
$zhanghao=$_POST["zhanghao"];
include("conn.php");
if(empty($zhanghao)){
$query = "select * from kadan";
}else{
$query = "select * from kadan where zhanghao = '$zhanghao' ";
}
where 年龄=年龄
用参数的写法:
WHERE
年龄 = CASE WHEN 参数 = '任意值' THEN 年龄 ELSE 参数 END
这样当 传入的参数为 '任意值' 的时候, 条件为 年龄=年龄
传入的参数为 25 的时候, 条件为 年龄=25
不过由于 数据类型的问题, 年龄是 数字型的, 那个 '任意值' 是字符型的
CASE WHEN 参数 = '任意值' THEN 年龄 ELSE 参数 END
可能会出错
一般是
CASE WHEN 参数 IS NULL THEN 年龄 ELSE 参数 END
这种情况下,如果参数不传,就是全部。
mysql中的通配符跟SQL是一样的,都是
%表示任意个或多个字符。可匹配任意类型和长度的字符
_表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:(可以代表一个中文字符)