php mysql 实现一个站内搜索 两个表查询多条记录语句怎么写 谢谢
发布网友
发布时间:2022-05-05 09:56
我来回答
共2个回答
热心网友
时间:2022-05-05 11:25
$tn = $_POST['TN']?$_POST['TN']:'';
$crops = $_POST['Crops']?$_POST['Crops']:'';
$amw = $_POST['AMW']?$_POST['AMW']:'';
$pest = $_POST['PEST']?$_POST['PEST']:'';
// 把×换成你要查找的字段,post值需要过滤,加强安全性
$sql = "select * from insecticide a left join crop b on a.ID=b.ID where a.PTN like'%$tn%' and b.CROP like'%$crops%' and a.AMW like'%$amw%' and b.PEST like'%$pest%'";追问1) $tn = $_POST['TN']?$_POST['TN']:''; 这我看不懂啊,问号是什么意思,还有后面的:又代表什么呢?
2) 我能否在表单中控制想要输出的结果。比如我搜满足tn为** ai为***的,我想在result的表格里,只打印tn, ai, 和ptn (不是固定的,每次打印的结果,都是用户自定义的)。这该怎么写呢。 我刚自学php。。很多东西自己琢磨不明白。谢谢啊啊!
追答1. ?: 三目运算符,自己手册去查,或google
2. 只需要判断你POST过来的值不空的话,组装成你要查询的字段:
比如:
$selectcolumn = '';
if(!empty($tn)){
$select .= ‘TN’;
}
以此类推。然后把sql语句中的星号换成$select 。如: select $selectcolumn from..............
只是给你提供一个思路,具体代码自己完成。