【php】php面向对象入门级别的类

来源:互联网 发布:windows开机配置失败 编辑:程序博客网 时间:2024/05/10 12:54

<?php

class Dao {

 function __construct() {
  mysql_connect('localhost','root','');
  mysql_select_db('test');
  mysql_query('set names utf8');
 }

 /**
  * 分页查询
  */
 function page($sql) {
  
  $page = $_GET['page'];
  $page = intval($page);
  if($page <= 0) {
   $page = 1;
  }

  //取有多少页  
  $itemNumSql = 'select count(*) num '.strstr($sql,'from');  
  $itemNums = $this->queryOne($itemNumSql);
  $itemNum = $itemNums['num'];
  $countPage = ceil($itemNum/10);

  if($page > $countPage) {
   $page = $countPage;
  }
 
  //取当前页所有数据
  $sn = ($page-1)*10;
  $sql = $sql." limit $sn,10";
  $r = mysql_query($sql);
  while($a = mysql_fetch_assoc($r))
  {
   $ret[] = $a;
  }

  
  $pinfo = "共{$itemNum}条{$countPage}页 当前第{$page}页 <a href='?page=1'>首页</a> ".
   "<a href='?page=".($page-1)."'>上一页</a> ".
   "<a href='?page=".($page == $countPage ? $page : $page+1)."'>下一页</a> ".
   "<a href='?page=$countPage'>末页</a>";
  $a = array('item'=>$ret,'page'=>$pinfo);
  return $a;
 }

 /**
  *取一条数据
  */
 function queryOne($sql) {
  $r = mysql_query($sql.' limit 1');
  $a = mysql_fetch_assoc($r);
  return $a;
 }

 /**
  * 检索所有数据
  */
 function query($sql) {
    
  $r = mysql_query($sql);
  while($a = mysql_fetch_assoc($r))
  {
   $ret[] = $a;
  }

  return $ret;
 }

 /**
  *插入数据
  */
 function insert($sql) {   
  mysql_query($sql);
  return mysql_insert_id();
 }

 /**
  *更新
  */
 function update($sql) {   
  $num = mysql_query($sql);
  return $num;
 }
}

?>