<?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. js call 理解

    首先直接放定义: 总结 1.前提:fun是函数 2.thisArg是在fun函数运行时 指定的this值 1.使用call来继承,新函数使用已经定义好的函数里的方法 下面直接上实例  函数b直接使用函 ...

  2. 【转】最新版PyCharm(2018.2)破解

    源链接 1.下载jar包 我突然发现这个包是通用的!IDEA,PyCharm都可以用 链接:http://idea.lanyus.com/ 上篇IDEA破解依旧是这个jar包 2.jar包放置位置将j ...

  3. Linux下的awk文本分析命令详解

    一.简介 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能,是linux/ ...

  4. 牛客练习赛39D

    n,m<=5e4; 首先操作2用并查集就行了.题解说的好啊! 考虑操作一,连的两个点如果同色,直接合并,然后这个颜色的联通块-1,然后合并bitset,就是或一下.bitset维护的是相连的异色 ...

  5. mybatis03--字段名和属性名不一致

    1.修改数据库中的字段 2.运行根据id查询所有的学生信息的测试方法会出现下面的异常 也就是说明 数据库中的字段没有个实体类中的属性名一致 3.修改StudentMapper.xml文件中的列名 4. ...

  6. ubuntu下安装php扩展

    参考原文地址:http://www.php.cn/php-weizijiaocheng-341528.html 发现在mac上好像不太行,然后按照下面的可以,写下来与大家分享 利用ubuntu的软件包 ...

  7. 伪分布式hadoop启动后jps查不到namenode的解决办法

    启动过程没有发现错误,但是jps查看进程时,发现少了NameNode,而DataNode却存在: 原因: 是端口9000已经被占用,解决办法有两个, 第一种:查找占用端口的进程,kill掉它. had ...

  8. windows下eclipse实现操作虚拟机ubantu中的hdfs hbase

    1.首先打开虚拟机,查看虚拟机的ip地址 2.修改C:\Windows\System32\drivers\etc下的主机名与ip的映射文件 3.配置Map/reduce 配置成功后可以查看hdfs文件 ...

  9. vue-cli+webpack+router+vuex---之vuex使用

    有信心的可以去看官方的文档 vue 的官方文档有个显著的特点---代码粘贴不全 Vue中文站:cn.vuejs.org vue-router官方教程:router.vuejs.org/zh-cn vu ...

  10. git的简单玩法

    本篇笔记参考廖雪峰的git教程,为方便查看将命令部分提取并记录下来. 无意对原作的版权侵犯,如需要学习请到廖雪峰网站学习git 创建git仓库 # mkdir learngit && ...