php查询mysql分页查询返回数组

来源:互联网 发布:mac共享windows文件夹 编辑:程序博客网 时间:2024/06/05 21:33

<?php
defined('IN_PHPCMS')or exit('No permission resources.');
pc_base::load_sys_class(
'model','',0);
class mymodelextendsmodel{
   
public$db_config,$db_setting;
   
publicfunction __construct($db_config=array(),$db_setting ='') {
       
if(!$db_config) {
           
$this->db_config= pc_base::load_config('database');
        }
else{
           
$this->db_config= $db_config;
        }
       
if(!$db_setting) {
           
$this->db_setting= 'default';
        }
else{
           
$this->db_setting= $db_setting;
        }

        
parent::__construct();
       
if($db_setting&& $db_config[$db_setting]['db_tablepre']) {
           
$this->db_tablepre= $db_config[$db_setting]['db_tablepre'];
        }
    }

   
publicfunction sql_query($sql) {
       
if(!empty($this->db_tablepre))$sql =str_replace('phpcms_',$this->db_tablepre,$sql);
       
returnparent::query($sql);
    }

   
publicfunction fetch_next() {
       
return$this->db->fetch_next();
    }


   
//查询
   
publicfunctionquery_by_sql($sql='') {

       
$r=$this->db->query($sql);
       
$data=array();
       
while(($s=$this->db->fetch_next()) != false){
           
$data[] =$s;
        }
       
return$data;

    }
   
publicfunction query_listinfo(&$sql= '',$page =1,$pagesize =20,$setpages =10,$array=array()){
       
//取得记录总数$rs,计算总页数用
       
$array=$this->query_by_sql("SELECTcount(1) as total FROM ($sql) as a");
       
$total=$array[0]['total'];
       
//计算总页数
       
$pages=intval(intval($total)/$pagesize);
       
if($total%$pagesize){
           
$pages++;
        }
       
//设置页数
       
if(isset($page)){
           
$page=intval($page);
        }
       
else{
           
//设置为第一页
           
$page=1;
        }
       
//计算记录偏移量
       
$offset=$pagesize*($page- 1);
       
//读取指定记录数
       
$infos=$this->query_by_sql("$sql limit $offset,$pagesize");
   
/*    $mpages =new mpages();
        $mpages->page=$page;
        $mpages->total=$total;
        $mpages->pagesize=15;
        $mpages->data=$infos;
        return $mpages;*/

       
$mpages=array();
       
$mpages['page']=$page;
       
$mpages['total']=$total;
       
$mpages['pagesize']=$pagesize;
       
$mpages['data']=$infos;
       
return$mpages;
    }
   
publicfunction multi_listinfo(&$sql= '',$page =1,$pagesize =20,$key='',$setpages =10,$urlrule='',$array= array()) {
       
$page=max(intval($page),1);
       
$offset=$pagesize*($page-1);
      
//$this->pages = pages($this->number, $page, $pagesize, $urlrule, $array,$setpages);
       
$sql=$sql.' LIMIT '.$offset.','.$pagesize;
       
$r=$this->db->query($sql);
      
//$r = $this->db->query($sql);
       
while(($s= $this->fetch_next()) !=false){
           
$data[] =$s;
        }
       
return$data;
    }
   
publicfunction count_sql($sql) {
       
$aa$this->sql_query($sql);
      
//$aa=  $this->db->query($sql);
       
$res=$this->db->fetch_next();
       
$this->db->free_result();
       
return$res;
    }
   
publicfunction select_one($sql) {
       
$result$this->db->query($sql);
       
$res=$this->db->fetch_next();
       
$this->db->free_result();
       
return$res;
    }

   
publicfunction retError($code,$msg)
    {
       
$lbg=new lbg();
       
$lbg->returncode= $code;
       
$encode=mb_detect_encoding($msg,array("ASCII","GB2312","UTF-8","GBK","BIG5"));
       
if($encode== "UTF-8") {
           
$msg=iconv("utf-8","GBK",$msg);
        }
       
$lbg->msg= $msg;
       
echo$this->JSON_o($lbg);
    }

   
functionJSON_o($array)
    {
       
$this->arrayRecursive_o($array,'urlencode',true);
       
$json= json_encode($array);
       
returnurldecode($json);
    }

   
functionarrayRecursive_o(&$array,$function,$apply_to_keys_also = false)
    {
       
foreach($arrayas $key=> $value) {
           
if(is_array($value)) {
               
$this->arrayRecursive_o($array->$key,$function,$apply_to_keys_also);
            }
else{
               
$array->$key= $function($value);
            }
           
if($apply_to_keys_also&&is_string($key)) {
               
$new_key=$function($key);
               
if ($new_key!= $key) {
                   
$array->$new_key= $array->$key;
                   
unset($array->$key);
                }
            }
        }
    }

   
publicfunction send_Msg($mobile,$type,$password="")
    {
       
if($type== "yanzheng") {
           
$password="您的新验证码为". random(6,"123456789abcdefghkmnrstwxy");
        }
elseif ($type== "pwd") {
           
//$password = "您的新密码为" . random(8, "123456789abcdefghkmnrstwxy");
       
}
       
$murl="http://182.92.185.251:8890/mtPort/mt2?";
       
$murl.="phonelist=".$mobile ."&content=".$password .",请注意查收。【具品汇】";
       
$murl.="&pwd=e10adc3949ba59abbe56e057f20f883e&uid=282";
       
$ch=curl_init();
//设置选项,包括URL
       
curl_setopt
($ch,CURLOPT_URL,$murl);
        curl_setopt(
$ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt(
$ch,CURLOPT_HEADER,0);
//执行并获取HTML文档内容
       
$result=curl_exec($ch);
//释放curl句柄
       
curl_close
($ch);
//打印获得的数据
       
echo($result);
       
$xml=simplexml_load_string($result);
       
$code=$result->code;//这里返回的依然是个SimpleXMLElement对象
       
if($code== 0) {
           
$this->retError(0,"验证码发送成功");
        }
else{
//验证码发送失败
           
$this->retError($code,$result->description);
        }
    }
//$result=mysql_query($sql,$con);
//$row=mysql_fetch_array($result)
}
?>

 

0 0
原创粉丝点击