<?php

class Table{
         protected $tablename;
         protected $arrTable;
        protected $w='';//条件属性
        protected $field="*";//查询字段
        protected $order="";
         function __construct($arrTable=''){
               $this->tablename=get_class($this);//获取获取当前的对象名
                $this->arrTable=$arrTable;
         }
         function insert(){
                echo $this->insertTable();
             }
         private function insertTable(){
             $keys="(";
             $values="(";
             foreach ($this->arrTable as $key => $value) {
                $keys.=$key.",";
                $values.="'".$value."',";
             }
             $keys=substr($keys, 0,-1).")";
             $values=substr($values,0,-1).")";
             return  "insert {$this->tablename} {$keys} values {$values}<br>";
          }

function del(){
            if ($this->w!=''){//表示没有条件
               $delstr="delete from {$this->tablename} where {$this->w}";               
            }else{
               $delstr="delete from {$this->tablename}";
            }
            echo $delstr."<br>";

}
         function where($w=''){
            $this->w=$w;
         }
          function update(){
            $updateData="";
            foreach ($this->arrTable as $key => $value) {
                $updateData.=$key."=".$value.",";
            }
            $updateData=substr($updateData,0,-1);
            if ($this->w=="") {
               echo "update {$this->tablename} set {$updateData} <br>";
            }else{
               echo "update {$this->tablename} set {$updateData} where {$this->w}<br>";
            }
            
         }
          function select(){
            if ($this->w==""){
               $select="select {$this->field} from {$this->tablename} {$this->order}";  
            }else{
               $select="select {$this->field} from {$this->tablename} where {$this->w} {$this->order}";  
            }
            echo $select."<br>";

}
         //查询字段
         function field($field="*"){
            $this->field=$field;
         }
         //排序
         function order($order=''){
            $this->order=$order;
         }
   }
   /**
   *
   */
   class User extends Table
   {
         
       
   }
   /**
   *
   */
   class Article extends Table
   {
       
       
   }
   /**
   *
   */
   class Student extends Table
   {
      
     
   }
   $Datas=array("username"=>"admin","userpass"=>'admin');
   $user1=new User($Datas);
   $user1->insert();
   $Datas=array("title"=>"admin","author"=>'admin');
   $a=new Article($Datas);
   $a->insert();
   $a->where("title='清远'");
   $a->del();
   $a->update();
   $Datas = array('id' =>'001' ,'name'=>'zhangsan' );
   $s1=new Student($Datas);
   $s1->insert();
   $s1->field("title,author");
   $s1->select();

// $iswhere=""

?>

面向对象select方法的更多相关文章

  1. C# DataTable的Select()方法不支持 != 判断

    异常描述: 用户代码未处理 System.Data.SyntaxErrorException HResult=-2146232032 Message=无法解释位置 23 的标记“!”. Source= ...

  2. [c#基础]DataTable的Select方法

    引言 可以说DataTable存放数据的一个离线数据库,将数据一下加载到内存,而DataReader是在线查询,而且只进形式的查询,如果后退一步,就不可能了,DataTable操作非常方便,但也有缺点 ...

  3. js面向过程改写成面向对象--通用方法

    响亮的标题:一个万能的,保底的.面向过程改写成面向对象的方法 前提朗读:很多刚接触js面向对象的时候都不知道如何能快速的写出一个面向对象的程序,这个是必然的现象,不是每一位学js的一上来就会写面向对象 ...

  4. HTML DOM select() 方法

    定义和用法 select() 方法用于选择该元素中的文本. 语法 textareaObject.select() 实例 下面的例子可选择文本框中的文本: <html> <head&g ...

  5. Thinkphp中的volist标签(查询数据集(select方法)的结果输出)用法简介

    参考网址:http://camnpr.com/archives/1515.html 通常volist标签多用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数 ...

  6. js面向对象+一般方法的选项卡

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. getField()和select()方法的区别

    在ThinkPHP中,查询数据库是必不可少的操作. 那么,getField()方法和select()方法都是查询的方法,到底有什么不同呢? 案例来说明: A.select()方法 例子1 $acces ...

  8. PHP面向对象-----魔术方法

    PHP面向对象-----魔术方法 __get($name)--触发时机:当调用一个不访问的成员属性的时候,会自动触发,可以利用这个方法来完成对不可调用的属性进行调用,但是不能设置值 ___set($n ...

  9. input和textarea标签的select()方法----选中文本框中的所有文本

    JavaScript select()方法选中文本框中的所有文本 <input>和<textarea>两种文本框都支持select()方法,这个方法用于选择文本框中的所有文本 ...

随机推荐

  1. [LeetCode] Clone Graph 克隆无向图

    Given a reference of a node in a connected undirected graph, return a deep copy (clone) of the graph ...

  2. JAVA课后作业01

    一.关于枚举的问题 public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t ...

  3. [转]常见的JavaScript内存泄露

    什么是内存泄露 内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存.内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制, ...

  4. bash 脚本。find 命令,xargs

    rm 排除指定文件或文件夹 rm -r !(.git) find 命令两个用法 find <指定目录> <指定条件> <指定动作> $ find . -name ' ...

  5. 关于 python中的转义字符

    "abc\n" 前面加 r,表示原生输出,不转义.实际上是用 \代替 \\,其实是已经转义过了,并不是不转义. 看这个例子: print(r"abc \n") ...

  6. 实现Linux下的ls和ls-l

    ls的C语言代码实现 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #includ ...

  7. Jenkins+Jmeter持续集成笔记(二:ANT执行Jmeter脚本)

    Jmeter接口测试脚本运行后生成的是jtl(xml)格式的文件,这些文件不具备可读性,所以我们要把他转化为可以阅读的html格式报告. Ant是一个功能强大的打包编译工具.我们使用他的目的是将xml ...

  8. 002-红黑树【B-树】、二叉查找树

    一.引述-二叉查找树 红黑树(Red Black Tree) 一种特殊的二叉查找树.故先查看二叉查找树 二叉查找树特性:左字数上所有的节点的值都小于或等于他的根节点上的值 右子树上所有节点的值均大于或 ...

  9. ORA-01555错误

    有这样一种情况 0:00 我们开始查询,查询的数据是100万条 0:01 一个session update了第100万条数据 0:01 update提交了,完成 1:00 我们的查询还在继续,只读到了 ...

  10. [js]js代码执行顺序/全局&私有变量/作用域链/闭包

    js代码执行顺序/全局&私有变量/作用域链 <script> /* 浏览器提供全局作用域(js执行环境)(栈内存) --> 1,预解释(仅带var的可以): 声明+定义 1. ...