php mysql 实现一个站内搜索 两个表查询多条记录语句怎么写 谢谢

表一:insecticide字段:IDPTNAIAMW表二:crop(ID和PTN是表一insecticide中的ID和PTN)字段:IDPTNCROPPEST想要实现:... 表一 : insecticide
字段:ID PTN AI AMW
表二 : crop (ID 和 PTN 是表一insecticide中的ID 和 PTN)
字段:ID PTN CROP PEST
想要实现:

1) 在 index.php中,给出任一字段进行搜索,就显示出满足那一字段的所有信息。
2) 若给出 PTN 和crop, 那要满足表一insecticide中PTN 为 $_POST['TN'] 并且表二crop中 PTN 也为 $_POST['TN'] ,表一表二的ID也要相同。
表二crop中的CROP 为$_POST['Crops']
并且要满足表一中 AMW like '%".$_POST['AMW']."%'
(若index.php中 AMW 的textarea填了要搜索的信息)

表二中 PEST like '%".$_POST['PEST']."%'
(若index.php中 PEST 的textarea填了要搜索的信息)

显示满足所有条件的记录。
谢谢了!
展开
 我来答
百度网友a0690eed8
2012-07-29 · TA获得超过163个赞
知道答主
回答量:87
采纳率:0%
帮助的人:125万
展开全部
$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..............
只是给你提供一个思路,具体代码自己完成。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式