若一个function里面的内容大都一样,只是表不一样,可以使用传参方法写一个方法就行,模糊查询
publicfunction zaixiao_basic($n) {
$tab = M($n);
$name = I('Name');
$idcard=I('IDcard');
$coachname = I('Coachname');
$page = isset($_POST['page']) ?intval($_POST['page']) : 1;
$rows = isset($_POST['rows']) ?intval($_POST['rows']) : 10;
$offset = ($page - 1) * $rows;
$sql = " Name like '$name%' andIDcard like '$idcard%' and Lixiao like '否'and Schoolname like'$_SESSION[schoolname]'";
$rs=$tab->where($sql)->limit($offset, $rows)->select();
$this->ajaxReturn($rs);
}
如果有个表的条件不一样如(表examinfo),可以这样写(组合查询)
public function zaixiao($n){
$tab = M($n);
$idcard = I('IDcard');
$name = I('Name');
if ($n == 'examinfo') {
$coachname = I('Coachname');
}
$page = isset($_POST['page']) ? intval($_POST['page']) : 1;
$rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
$offset = ($page - 1) * $rows;
$sql = "Lixiao like '否'and Schoolname like '$_SESSION[schoolname]'";
if ($name != '') {
$sql1 = Name . ' like "' . $name . '"';
$sql.="&&$sql1";
}
if ($idcard != '') {
$sql2 = IDcard . ' like "' . $idcard . '"';
$sql.="&&$sql2";
}
if ($coachname != '') {
$sql3 = Coachname . ' like "' . $coachname . '"';
$sql.="&&$sql3";
}
$rs = $tab->where($sql)->limit($offset, $rows)->select();
$this->ajaxReturn($rs);
}
然后调用参数写表名就行
__URL__/zaixiao_basic/?n=表名
__URL__/zaixiao_basic/?n=examinfo
利用传参方法实现模糊查询与组合查询的高效操作
本文介绍了如何通过传参方法简化数据库查询过程,特别是在不同表中应用模糊查询与组合查询的技巧。对于相同结构的表,可以使用通用的传参方法 `zaixiao_basic` 进行查询;而针对不同表结构,通过条件组合查询的 `zaixiao` 方法实现了灵活的数据检索。文章详细展示了如何根据输入参数动态构建SQL查询语句,有效地处理不同表中的查询需求。
646

被折叠的 条评论
为什么被折叠?



