有关php+ajax多条件查询,并且分页显示的问题【高分悬赏】

2024-11-22 22:18:51
推荐回答(3个)
回答(1):

$sql=select * from table where 1=1
四个下拉框 实际上就是四种 检索条件,在拼接sql的时候分别判断举唤这四个下拉框是否有值 有的话 $sql.="条毕顷件1",
$sql.=“&&条件2”;
以此类推

ajax分页的时候 需要传递的值有 分页的偏正数凯移量,sql语句中的 limit的 开始位置

回答(2):

我粗消就是做PHP和枣凳简jquery的,你的代码很多没必要的,你能不能简化一下,发一下相关的php代码和jquery给我?就只要ajax和php处理凳裤代码就OK了

回答(3):

第一个问题:
假如你四个下拉的name分别为select1,select2,select3,select4,以post方式传,在php页可以这样:
$where='';
if($_POST['select1']){
$where.="and select1 like '%".$_POST['select1']."%'";
}
if($_POST['select2']){
$where.="and select2 like '%".$_POST['select2']."%'";
}
........一直到select4
$sql="select * from table where (1=1) ". $where." limit .....;

第二个问题:
你可以参照这个
前端页:

$.ajax({
type: 'POST',
url: 'ajaxpage.php',
data: {'pageNum':page-1,'classid':classid},
dataType:'json',
beforeSend:function(){ alert('loading...'););//显示加载动画
},
success:function(msg){
var json=eval(msg);
total = json.total; //总记录数
if(total==0){
alert('无相关记录');
}else{
pageSize = json.pageSize; //每页显示条数
curPage = page; //当前页
totalPage = json.totalPage;//总页数
list = json.list;
$.each(list,function(index,array){ //遍历json数兄段据列
alert(array['id']+array['name']);
});
}
},
complete:function(){ //生成分页条
getPageBar(total,curPage,totalPage,classid,code);
},
error:function(){
alert("漏凳数据加载失败");
}
});
//获取分页条
function getPageBar(total,curPage,totalPage,classid,code){
if(total!=0){
//页码大于最大页数
if(curPage>totalPage) curPage=totalPage;
//页码小于1
if(curPage<1) curPage=1;
pageStr = "共"+total+"条 "+curPage+"/"+totalPage+" ";

//如果是第一页
if(curPage==1){
pageStr += "首页 上一页 ";
}else{
pageStr += "首页<羡搜誉/span> 上一页 ";
}
//如果是最后页
if(curPage>=totalPage){
pageStr += "下一页 尾页";
}else{
pageStr += "下一页 尾页";
}
$("#mypage").append(pageStr); //在你的位置输出分页条
}
}

php页:

$page = intval($_REQUEST['pageNum']); //当前页
$classid=intval($_REQUEST['classid']);
$total =mysql_fetch_row(mysql_query("select count(*) from table where id=".$classid));//获取总记录数
$pageSize = 10; //每页显示数
$totalPage = ceil($total['count(*)']/$pageSize); //总页数

$startPage = $page*$pageSize; //开始记录
//构造数组
$arr=array();
$arr['total'] = $total['count(*)']; //总记录数
$arr['pageSize'] = $pageSize;
$arr['totalPage'] = $totalPage;
$result=mysql_query("select id,name from table where id=".$classid." limit $startPage,$pageSize");
if(mysql_num_rows!=0){

while($row=mysql_fetch_array($result)){
$arr['list']=$row;

}
}else{
$arr['list']='';
}
echo json_encode($arr); //输出JSON数据

如有用请采纳,入有错请勿笑,我也是参照别人写得,霍霍