鼠笼管理系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

142 lines
3.2 KiB

<?php
/**
*
* @Authot: summer
*
* @E-mail: wenghang1228@me.com
*
* @Data: 2015-02-06
*
* @Project: 数据库操作类Model
*
* @Version:1.0
*
* @版权所有:夏天的风————记录夏天对技术的追求与生活的热爱
*
* @网址: http://www.xtwind.com
**/
class Model{
public $field;
public $tabname;
public $where;
public $order;
public $limit;
//构造函数,链接数据库,给表赋值
function __construct($tabname){
mysql_connect('127.0.0.1','root','rootdb16!^');
mysql_select_db('medical_wx_develop');
mysql_query("set names utf8");
$this->tabname=$tabname;
}
//组合字段
function field($field){
$this->field=$field;
return $this;
}
//组合where条件
function where($where){
$this->where="where ".$where;
return $this;
}
//组合order排序条件
function order($order){
$this->order="order by ".$order;
return $this;
}
//组合limit限制条数
function limit($limit){
$this->limit="limit ".$limit;
return $this;
}
//组合和执行select语句
function select($all=""){
$rows = array();
if ($all) {
$sql="select {$all} from {$this->tabname} order by id";
}else{
$sql="select {$this->field} from {$this->tabname} {$this->where} {$this->order} {$this->limit}";
}
$rst=mysql_query($sql);
while ($row=mysql_fetch_assoc($rst)) {
$rows[]=$row;
}
return $rows;
}
//组合和执行insert语句
function insert($post){ //数据库插入操作,接收数组
foreach ($post as $key => $value) {
$keys[]=$key;
$vals[]="'".$value."'";
}
$keyStr=join(",",$keys);
$valStr=join(",",$vals);
$sql="insert into {$this->tabname} ($keyStr) values ($valStr)";
// print_r($sql);die;
if (mysql_query($sql)) {
return mysql_insert_id();
}else{
return false;
}
}
//组合和执行delect语句
function delect(){
$sql="delect from {$this->tabname} {$this->where}";
if (mysql_query($sql)) {
return mysql_affected_rows();
}else{
return false;
}
}
//组合和执行updata语句
function update($post){
foreach ($psot as $key => $value) {
$sets[]="{$key}='{$val}'";
}
$setStr=join(",",$sets);
$sql="update {$this->tabname} set {$setStr} {$this->where} ";
if (mysql_query($sql)) {
return mysql_affected_rows();
}else{
return false;
}
}
//从表中取一行数据
function find(){
if ($this->order) {
$sql="select * from {$this->tabname} {$this->order} limit 1";
}else{
$sql="select * from {$this->tabname} order by id limit 1";
}
$rst=mysql_query($sql);
while ($row=mysql_fetch_assoc($rst)) {
$rows[]=$row;
}
return $rows;
}
//获取总行数
function total(){
$sql="select count(*) from {$this->tabname}";
$rst=mysql_exec($sql);
if ($rst) {
$row=mysql_fetch_row($rst);
return $row[0];
}else{
return false;
}
}
function query($Sql){
$rst = mysql_query($Sql);
if ($rst) {
$row = mysql_fetch_assoc($rst);
// $row = mysql_free_result($row);
return $row;
}else{
return false;
}
}
}
//Model类对象工厂
function M($tabname){
return new Model($tabname);
}