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
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);
|
|
} |