linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > php >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·PHP生成静态页面的一些经验
·PHP无限分类与树型论坛的实现方
·php5学习笔记
·入门级PHP程序员面试题
·PHP 和 MySQL初学入门
·PHP入门速成
·vim的代码折叠
·文件下载统计php编程代码
·如何建立自己的新闻发布系统
·织梦CMS中文转换拼音函数研究
·Windows下Apache+Tomcat+MySQL
·PHP初学者头疼问题总结
·Cookie及其使用详细介绍
·生成sessionid和随机密码的例子
·使用无限生命期Session的方法
最新文章
·PHP入门速成
·用php实现广告轮播
·Zend Optimizer 问题浅析
·功能强大的CGI语言----PHP3
·用Session对Web页面进行保护
·PHP--进行模块化设计
·如何将PHP的结果输出到非PHP页
·如何开发一个虚拟域名系统
·PHP4调用自己编写的COM组件
·简单的页面缓冲技术(三)
·简单的页面缓冲技术(二)
·简单的页面缓冲技术(一)
·用Socket发送电子邮件(二)
·用Socket发送电子邮件(一)
·PHP/MySQL 购物车
Google
 
PHP通过参数来生成MYSQL语句类
[ 作者:  加入时间:2007-11-21 15:31:10  来自:Linux联盟收集整理 ]
这个类可以通过具有参数的数组来构建MySQL查询语句。 z6JLinux联盟
  这个类可以通过指定的表和字段参数创建SELECT ,INSERT , UPDATE 和 DELETE 语句。 z6JLinux联盟
  这个类可以创建SQL语句的WHERE条件,像LIKE的查询语句,使用LEFT JOIN和ORDER 语句。 z6JLinux联盟
  例子: z6JLinux联盟
   <? php z6JLinux联盟
   /* ******************************************************************* z6JLinux联盟
  Example file z6JLinux联盟
  This example shows how to use the MyLibSQLGen class z6JLinux联盟
   z6JLinux联盟
  The example is based on the following MySQL table: z6JLinux联盟
   z6JLinux联盟
  CREATE TABLE customer ( z6JLinux联盟
   id int(10) unsigned NOT NULL auto_increment, z6JLinux联盟
   name varchar(60) NOT NULL default '', z6JLinux联盟
   address varchar(60) NOT NULL default '', z6JLinux联盟
   city varchar(60) NOT NULL default '', z6JLinux联盟
   PRIMARY KEY (cust_id) z6JLinux联盟
  ) TYPE=MyISAM; z6JLinux联盟
   z6JLinux联盟
  ******************************************************************* */ z6JLinux联盟
   z6JLinux联盟
   require_once ( " class_mylib_SQLGen-1.0.php " ); z6JLinux联盟
   z6JLinux联盟
   $fields = Array ( " name " , " address " , " city " ); z6JLinux联盟
   $values = Array ( " Fadjar " , " Resultmang Raya Street " , " Jakarta " ); z6JLinux联盟
   $tables = Array ( " customer " ); z6JLinux联盟
   z6JLinux联盟
   echo " <b>Result Generate Insert</b><br> " ; z6JLinux联盟
   $object = new MyLibSQLGen(); z6JLinux联盟
   $object -> clear_all_assign(); // to refresh all property but it no need when first time execute z6JLinux联盟
   $object -> setFields( $fields ); z6JLinux联盟
   $object -> setValues( $values ); z6JLinux联盟
   $object -> setTables( $tables ); z6JLinux联盟
   z6JLinux联盟
   if ( ! $object -> getInsertSQL()){ echo $object -> Error; exit ;} z6JLinux联盟
   else { $sql = $object -> Result; echo $sql . " <br> " ;} z6JLinux联盟
   z6JLinux联盟
   z6JLinux联盟
   echo " <b>Result Generate Update</b><br> " ; z6JLinux联盟
   $fields = Array ( " name " , " address " , " city " ); z6JLinux联盟
   $values = Array ( " Fadjar " , " Resultmang Raya Street " , " Jakarta " ); z6JLinux联盟
   $tables = Array ( " customer " ); z6JLinux联盟
   $id = 1 ; z6JLinux联盟
   $conditions [ 0 ][ " condition " ] = " id='$id' " ; z6JLinux联盟
   $conditions [ 0 ][ " connection " ] = "" ; z6JLinux联盟
   z6JLinux联盟
   $object -> clear_all_assign(); z6JLinux联盟
   $object -> setFields( $fields ); z6JLinux联盟
   $object -> setValues( $values ); z6JLinux联盟
   $object -> setTables( $tables ); z6JLinux联盟
   $object -> setConditions( $conditions ); z6JLinux联盟
   z6JLinux联盟
   if ( ! $object -> getUpdateSQL()){ echo $object -> Error; exit ;} z6JLinux联盟
   else { $sql = $object -> Result; echo $sql . " <br> " ;} z6JLinux联盟
   z6JLinux联盟
   echo " <b>Result Generate Delete</b><br> " ; z6JLinux联盟
   $tables = Array ( " customer " ); z6JLinux联盟
   $conditions [ 0 ][ " condition " ] = " id='1' " ; z6JLinux联盟
   $conditions [ 0 ][ " connection " ] = " OR " ; z6JLinux联盟
   $conditions [ 1 ][ " condition " ] = " id='2' " ; z6JLinux联盟
   $conditions [ 1 ][ " connection " ] = " OR " ; z6JLinux联盟
   $conditions [ 2 ][ " condition " ] = " id='4' " ; z6JLinux联盟
   $conditions [ 2 ][ " connection " ] = "" ; z6JLinux联盟
   z6JLinux联盟
   $object -> clear_all_assign(); z6JLinux联盟
   $object -> setTables( $tables ); z6JLinux联盟
   $object -> setConditions( $conditions ); z6JLinux联盟
   z6JLinux联盟
   if ( ! $object -> getDeleteSQL()){ echo $object -> Error; exit ;} z6JLinux联盟
   else { $sql = $object -> Result; echo $sql . " <br> " ;} z6JLinux联盟
   z6JLinux联盟
   echo " <b>Result Generate List</b><br> " ; z6JLinux联盟
   $fields = Array ( " id " , " name " , " address " , " city " ); z6JLinux联盟
   $tables = Array ( " customer " ); z6JLinux联盟
   $id = 1 ; z6JLinux联盟
   $conditions [ 0 ][ " condition " ] = " id='$id' " ; z6JLinux联盟
   $conditions [ 0 ][ " connection " ] = "" ; z6JLinux联盟
   z6JLinux联盟
   $object -> clear_all_assign(); z6JLinux联盟
   $object -> setFields( $fields ); z6JLinux联盟
   $object -> setTables( $tables ); z6JLinux联盟
   $object -> setConditions( $conditions ); z6JLinux联盟
   z6JLinux联盟
   if ( ! $object -> getQuerySQL()){ echo $object -> Error; exit ;} z6JLinux联盟
   else { $sql = $object -> Result; echo $sql . " <br> " ;} z6JLinux联盟
   z6JLinux联盟
   echo " <b>Result Generate List with search on all fields</b><br> " ; z6JLinux联盟
   $fields = Array ( " id " , " name " , " address " , " city " ); z6JLinux联盟
   $tables = Array ( " customer " ); z6JLinux联盟
   $id = 1 ; z6JLinux联盟
   $search = " Fadjar Nurswanto " ; z6JLinux联盟
   $object -> clear_all_assign(); z6JLinux联盟
   $object -> setFields( $fields ); z6JLinux联盟
   $object -> setTables( $tables ); z6JLinux联盟
   $object -> setSearch( $search ); z6JLinux联盟
   z6JLinux联盟
   if ( ! $object -> getQuerySQL()){ echo $object -> Error; exit ;} z6JLinux联盟
   else { $sql = $object -> Result; echo $sql . " <br> " ;} z6JLinux联盟
   z6JLinux联盟
   echo " <b>Result Generate List with search on some fields</b><br> " ; z6JLinux联盟
   $fields = Array ( " id " , " name " , " address " , " city " ); z6JLinux联盟
   $tables = Array ( " customer " ); z6JLinux联盟
   $id = 1 ; z6JLinux联盟
   $search = Array ( z6JLinux联盟
   " name " => " Fadjar Nurswanto " , z6JLinux联盟
   " address " => " Tomang Raya " z6JLinux联盟
   ); z6JLinux联盟
   z6JLinux联盟
   $object -> clear_all_assign(); z6JLinux联盟
   $object -> setFields( $fields ); z6JLinux联盟
   $object -> setTables( $tables ); z6JLinux联盟
   $object -> setSearch( $search ); z6JLinux联盟
   z6JLinux联盟
   if ( ! $object -> getQuerySQL()){ echo $object -> Error; exit ;} z6JLinux联盟
   else { $sql = $object -> Result; echo $sql . " <br> " ;} z6JLinux联盟
   ?> z6JLinux联盟
   z6JLinux联盟
  类代码: z6JLinux联盟
   <? php z6JLinux联盟
   /* z6JLinux联盟
  Created By : Fadjar Nurswanto <fajr_n@rindudendam.net> z6JLinux联盟
  DATE : 2006-08-02 z6JLinux联盟
  PRODUCTNAME : class MyLibSQLGen z6JLinux联盟
  PRODUCTVERSION : 1.0.0 z6JLinux联盟
  DESCRIPTION : class yang berfungsi untuk menggenerate SQL z6JLinux联盟
  DENPENCIES : z6JLinux联盟
   */ z6JLinux联盟
   class MyLibSQLGen z6JLinux联盟
  { z6JLinux联盟
   var $Result ; z6JLinux联盟
   var $Tables = Array (); z6JLinux联盟
   var $Values = Array (); z6JLinux联盟
   var $Fields = Array (); z6JLinux联盟
   var $Conditions = Array (); z6JLinux联盟
   var $Condition ; z6JLinux联盟
   var $LeftJoin = Array (); z6JLinux联盟
   var $Search ; z6JLinux联盟
   var $Sort = " ASC " ; z6JLinux联盟
   var $Order ; z6JLinux联盟
   var $Error ; z6JLinux联盟
   z6JLinux联盟
   function MyLibSQLGen(){} z6JLinux联盟
   function BuildCondition() z6JLinux联盟
   { z6JLinux联盟
   $funct = " BuildCondition " ; z6JLinux联盟
   $className = get_class ( $this ); z6JLinux联盟
   $conditions = $this -> getConditions(); z6JLinux联盟
   if ( ! $conditions ){ $this -> dbgDone( $funct ); return true ;} z6JLinux联盟
   if ( ! is_array ( $conditions )) z6JLinux联盟
   { z6JLinux联盟
   $this -> Error = " $className::$funct \nVariable conditions not Array " ; z6JLinux联盟
   return ; z6JLinux联盟
   } z6JLinux联盟
   for ( $i = 0 ; $i < count ( $conditions ); $i ++ ) z6JLinux联盟
   { z6JLinux联盟
   $this -> Condition .= $conditions [ $i ][ " condition " ] . " " . $conditions [ $i ][ " connection " ] . " " ; z6JLinux联盟
   } z6JLinux联盟
   return true ; z6JLinux联盟
   } z6JLinux联盟
   function BuildLeftJoin() z6JLinux联盟
   { z6JLinux联盟
   $funct = " BuildLeftJoin " ; z6JLinux联盟
   $className = get_class ( $this ); z6JLinux联盟
   if ( ! $this -> getLeftJoin()){ $this -> Error = " $className::$funct \nProperty LeftJoin was empty " ; return ;} z6JLinux联盟
   z6JLinux联盟
   $LeftJoinVars = $this -> getLeftJoin(); z6JLinux联盟
   z6JLinux联盟
   $hasil = false ; z6JLinux联盟
   foreach ( $LeftJoinVars as $LeftJoinVar ) z6JLinux联盟
   { z6JLinux联盟
   @ $hasil .= " LEFT JOIN " . $LeftJoinVar [ " table " ]; z6JLinux联盟
   foreach ( $LeftJoinVar [ " on " ] as $var ) z6JLinux联盟
   { z6JLinux联盟
   @ $condvar .= $var [ " condition " ] . " " . $var [ " connection " ] . " " ; z6JLinux联盟
   } z6JLinux联盟
   $hasil .= " ON ( " . $condvar . " ) " ; z6JLinux联盟
   unset ( $condvar ); z6JLinux联盟
   } z6JLinux联盟
   z6JLinux联盟
   $this -> ResultLeftJoin = $hasil ; z6JLinux联盟
   z6JLinux联盟
   return true ; z6JLinux联盟
   } z6JLinux联盟
   function BuildOrder() z6JLinux联盟
   { z6JLinux联盟
   $funct = " BuildOrder " ; z6JLinux联盟
   $className = get_class ( $this ); z6JLinux联盟
   if ( ! $this -> getOrder()){ $this -> Error = " $className::$funct \nProperty Order was empty " ; return ;} z6JLinux联盟
   if ( ! $this -> getFields()){ $this -> Error = " $className::$funct \nProperty Fields was empty " ; return ;} z6JLinux联盟
   z6JLinux联盟
   $Fields = $this -> getFields(); z6JLinux联盟
   $Orders = $this -> getOrder(); z6JLinux联盟
   if ( ereg ( " , " , $Orders )){ $Orders = explode ( " , " , $Order );} z6JLinux联盟
   if ( ! is_array ( $Orders )){ $Orders = Array ( $Orders );} z6JLinux联盟
   z6JLinux联盟
   foreach ( $Orders as $Order ) z6JLinux联盟
   { z6JLinux联盟
   if ( ! is_numeric ( $Order )){ $this -> Error = " $className::$funct \nProperty Order not Numeric " ; return ;} z6JLinux联盟
   if ( $Order > count ( $this -> Fields)){ $this -> Error = " $className::$funct \nMax value of property Sort is " . count ( $this -> Fields); return ;} z6JLinux联盟
   z6JLinux联盟
   @ $xorder .= $Fields [ $Order ] . " , " ; z6JLinux联盟
   } z6JLinux联盟
   z6JLinux联盟
   $this -> ResultOrder = " ORDER BY " . substr ( $xorder , 0 ,- 1 ); z6JLinux联盟
   z6JLinux联盟
   return true ; z6JLinux联盟
   } z6JLinux联盟
   function BuildSearch() z6JLinux联盟
   { z6JLinux联盟
   $funct = " BuildSearch " ; z6JLinux联盟
   $className = get_class ( $this ); z6JLinux联盟
   z6JLinux联盟
   if ( ! $this -> getSearch()){ $this -> Error = " $className::$funct \nProperty Search was empty " ; return ;} z6JLinux联盟
   if ( ! $this -> getFields()){ $this -> Error = " $className::$funct \nProperty Fields was empty " ; return ;} z6JLinux联盟
   z6JLinux联盟
   $Fields = $this -> getFields(); z6JLinux联盟
   $xvalue = $this -> getSearch(); z6JLinux联盟
   z6JLinux联盟
   if ( is_array ( $xvalue )) z6JLinux联盟
   { z6JLinux联盟
   foreach ( $Fields as $field ) z6JLinux联盟
   { z6JLinux联盟
   if (@ $xvalue [ $field ]) z6JLinux联盟
   { z6JLinux联盟
   $Values = explode ( " " , $xvalue [ $field ]); z6JLinux联盟
   foreach ( $Values as $Value ) z6JLinux联盟
   { z6JLinux联盟
   @ $hasil .= $field . " LIKE '% " . $Value . " %' OR " ; z6JLinux联盟
   } z6JLinux联盟
   if ( $hasil ) z6JLinux联盟
   { z6JLinux联盟
   @ $hasil_final .= " ( " . substr ( $hasil , 0 ,- 4 ) . " ) AND " ; z6JLinux联盟
   unset ( $hasil ); z6JLinux联盟
   } z6JLinux联盟
   } z6JLinux联盟
   } z6JLinux联盟
   $hasil = $hasil_final ; z6JLinux联盟
   } z6JLinux联盟
   else z6JLinux联盟
   { z6JLinux联盟
   foreach ( $Fields as $field ) z6JLinux联盟
   { z6JLinux联盟
   $Values = explode ( " " , $xvalue ); z6JLinux联盟
   foreach ( $Values as $Value ) z6JLinux联盟
   { z6JLinux联盟
   @ $hasil .= $field . " LIKE '% " . $Value . " %' OR " ; z6JLinux联盟
   } z6JLinux联盟
   } z6JLinux联盟
   } z6JLinux联盟
   z6JLinux联盟
   $this -> ResultSearch = substr ( $hasil , 0 ,- 4 ); z6JLinux联盟
   return true ; z6JLinux联盟
   } z6JLinux联盟
   function clear_all_assign() z6JLinux联盟
   { z6JLinux联盟
   $this -> Result = null ; z6JLinux联盟
   $this -> ResultSearch = null ; z6JLinux联盟
   $this -> ResultLeftJoin = null ; z6JLinux联盟
   $this -> Result = null ; z6JLinux联盟
   $this -> Tables = Array (); z6JLinux联盟
   $this -> Values = Array (); z6JLinux联盟
   $this -> Fields = Array (); z6JLinux联盟
   $this -> Conditions = Array (); z6JLinux联盟
   $this -> Condition = null ; z6JLinux联盟
   $this -> LeftJoin = Array (); z6JLinux联盟
   $this -> Sort = " ASC " ; z6JLinux联盟
   $this -> Order = null ; z6JLinux联盟
   $this -> Search = null ; z6JLinux联盟
   $this -> fieldSQL = null ; z6JLinux联盟
   $this -> valueSQL = null ; z6JLinux联盟
   $this -> partSQL = null ; z6JLinux联盟
   $this -> Error = null ; z6JLinux联盟
   return true ; z6JLinux联盟
   } z6JLinux联盟
   function CombineFieldValue( $manual = false ) z6JLinux联盟
   { z6JLinux联盟
   $funct = " CombineFieldsPostVar " ; z6JLinux联盟
   $className = get_class ( $this ); z6JLinux联盟
   $fields = $this -> getFields(); z6JLinux联盟
   $values = $this -> getValues(); z6JLinux联盟
   if ( ! is_array ( $fields )) z6JLinux联盟
   { z6JLinux联盟
   $this -> Error = " $className::$funct \nVariable fields not Array " ; z6JLinux联盟
   return ; z6JLinux联盟
   } z6JLinux联盟
   if ( ! is_array ( $values )) z6JLinux联盟
   { z6JLinux联盟
   $this -> Error = " $className::$funct \nVariable values not Array " ; z6JLinux联盟
   return ; z6JLinux联盟
   } z6JLinux联盟
   if ( count ( $fields ) != count ( $values )) z6JLinux联盟
   { z6JLinux联盟
   $this -> Error = " $className::$funct \nCount of fields and values not match " ; z6JLinux联盟
   return ; z6JLinux联盟
   } z6JLinux联盟
   for ( $i = 0 ; $i < count ( $fields ); $i ++ ) z6JLinux联盟
   { z6JLinux联盟
   @ $this -> fieldSQL .= $fields [ $i ] . " , " ; z6JLinux联盟
   if ( $fields [ $i ] == " pwd " || $fields [ $i ] == " password " || $fields [ $i ] == " pwd " ) z6JLinux联盟
   { z6JLinux联盟
   @ $this -> valueSQL .= " password(' " . $values [ $i ] . " '), " ; z6JLinux联盟
   @ $this -> partSQL .= $fields [ $i ] . " =password(' " . $values [ $i ] . " '), " ; z6JLinux联盟
   } z6JLinux联盟
   else z6JLinux联盟
   { z6JLinux联盟
   if ( is_numeric ( $values [ $i ])) z6JLinux联盟
   { z6JLinux联盟
   @ $this -> valueSQL .= $values [ $i ] . " , " ; z6JLinux联盟
   @ $this -> partSQL .= $fields [ $i ] . " = " . $values [ $i ] . " , " ; z6JLinux联盟
   } z6JLinux联盟
   else z6JLinux联盟
   { z6JLinux联盟
   @ $this -> valueSQL .= " ' " . $values [ $i ] . " ', " ; z6JLinux联盟
   @ $this -> partSQL .= $fields [ $i ] . " =' " . $values [ $i ] . " ', " ; z6JLinux联盟
   } z6JLinux联盟
   } z6JLinux联盟
   } z6JLinux联盟
   $this -> fieldSQL = substr ( $this -> fieldSQL , 0 ,- 1 ); z6JLinux联盟
   $this -> valueSQL = substr ( $this -> valueSQL , 0 ,- 1 ); z6JLinux联盟
   $this -> partSQL = substr ( $this -> partSQL , 0 ,- 1 ); z6JLinux联盟
   return true ; z6JLinux联盟
   } z6JLinux联盟
   function getDeleteSQL() z6JLinux联盟
   { z6JLinux联盟
   $funct = " getDeleteSQL " ; z6JLinux联盟
   $className = get_class ( $this ); z6JLinux联盟
   $Tables = $this -> getTables(); z6JLinux联盟
   if ( ! $Tables || ! count ( $Tables )) z6JLinux联盟
   { z6JLinux联盟
   $this -> dbgFailed( $funct ); z6JLinux联盟
   $this -> Error = " $className::$funct \nTable was empty " ; z6JLinux联盟
   return ; z6JLinux联盟
   } z6JLinux联盟
   for ( $i = 0 ; $i < count ( $Tables ); $i ++ ) z6JLinux联盟
   { z6JLinux联盟
   @ $Table .= $Tables [ $i ] . " , " ; z6JLinux联盟
   } z6JLinux联盟
   $Table = substr ( $Table , 0 ,- 1 ); z6JLinux联盟
   z6JLinux联盟
   $sql = " DELETE FROM " . $Table ; z6JLinux联盟
   z6JLinux联盟
   if ( $this -> getConditions()) z6JLinux联盟
   { z6JLinux联盟
   if ( ! $this -> BuildCondition()){ $this -> dbgFailed( $funct ); return ;} z6JLinux联盟
   $sql .= " WHERE " . $this -> getCondition(); z6JLinux联盟
   } z6JLinux联盟
   $this -> Result = $sql ; z6JLinux联盟
   return true ; z6JLinux联盟
   } z6JLinux联盟
   function getInsertSQL() z6JLinux联盟
   { z6JLinux联盟
   $funct = " getInsertSQL " ; z6JLinux联盟
   $className = get_class ( $this ); z6JLinux联盟
   if ( ! $this -> getValues()){ $this -> Error = " $className::$funct \nProperty Values was empty " ; return ;} z6JLinux联盟
   if ( ! $this -> getFields()){ $this -> Error = " $className::$funct \nProperty Fields was empty " ; return ;} z6JLinux联盟
   if ( ! $this -> getTables()){ $this -> Error = " $className::$funct \nProperty Tables was empty " ; return ;} z6JLinux联盟
   z6JLinux联盟
   if ( ! $this -> CombineFieldValue()){ $this -> dbgFailed( $funct ); return ;} z6JLinux联盟
   $Tables = $this -> getTables(); z6JLinux联盟
   z6JLinux联盟
   $sql = " INSERT INTO " . $Tables [ 0 ] . " ( " . $this -> fieldSQL . " ) VALUES ( " . $this -> valueSQL . " ) " ; z6JLinux联盟
   z6JLinux联盟
   $this -> Result = $sql ; z6JLinux联盟
   z6JLinux联盟
   return true ; z6JLinux联盟
   } z6JLinux联盟
   function getUpdateSQL() z6JLinux联盟
   { z6JLinux联盟
   $funct = " getUpdateSQL " ; z6JLinux联盟
   $className = get_class ( $this ); z6JLinux联盟
   z6JLinux联盟
   if ( ! $this -> getValues()){ $this -> Error = " $className::$funct \nProperty Values was empty " ; return ;} z6JLinux联盟
   if ( ! $this -> getFields()){ $this -> Error = " $className::$funct \nProperty Fields was empty " ; return ;} z6JLinux联盟
   if ( ! $this -> getTables()){ $this -> Error = " $className::$funct \nProperty Tables was empty " ; return ;} z6JLinux联盟
   z6JLinux联盟
   if ( ! $this -> CombineFieldValue()){ $this -> dbgFailed( $funct ); return ;} z6JLinux联盟
   if ( ! $this -> BuildCondition()){ $this -> dbgFailed( $funct ); return ;} z6JLinux联盟
   $Tables = $this -> getTables(); z6JLinux联盟
   z6JLinux联盟
   $sql = " UPDATE " . $Tables [ 0 ] . " SET " . $this -> partSQL . " WHERE " . $this -> getCondition(); z6JLinux联盟
   z6JLinux联盟
   $this -> Result = $sql ; z6JLinux联盟
   z6JLinux联盟
   return true ; z6JLinux联盟
   } z6JLinux联盟
   function getQuerySQL() z6JLinux联盟
   { z6JLinux联盟
   $funct = " getQuerySQL " ; z6JLinux联盟
   $className = get_class ( $this ); z6JLinux联盟
   z6JLinux联盟
   if ( ! $this -> getFields()){ $this -> Error = " $className::$funct \nProperty Fields was empty " ; return ;} z6JLinux联盟
   if ( ! $this -> getTables()){ $this -> Error = " $className::$funct \nProperty Tables was empty " ; return ;} z6JLinux联盟
   z6JLinux联盟
   $Fields = $this -> getFields(); z6JLinux联盟
   $Tables = $this -> getTables(); z6JLinux联盟
   foreach ( $Fields as $Field ){@ $sql_raw .= $Field . " , " ;} z6JLinux联盟
   foreach ( $Tables as $Table ){@ $sql_table .= $Table . " , " ;} z6JLinux联盟
   z6JLinux联盟
   $this -> Result = " SELECT " . substr ( $sql_raw , 0 ,- 1 ) . " FROM " . substr ( $sql_table , 0 ,- 1 ); z6JLinux联盟
   z6JLinux联盟
   if ( $this -> getLeftJoin()) z6JLinux联盟
   { z6JLinux联盟
   if ( ! $this -> BuildLeftJoins()){ $this -> dbgFailed( $funct ); return ;} z6JLinux联盟
   $this -> Result .= " " . $this -> ResultLeftJoin; z6JLinux联盟
   } z6JLinux联盟
   if ( $this -> getConditions()) z6JLinux联盟
   { z6JLinux联盟
   if ( ! $this -> BuildCondition()){ $this -> dbgFailed( $funct ); return ;} z6JLinux联盟
   $this -> Result .= " WHERE ( " . $this -> Condition . " ) " ; z6JLinux联盟
   } z6JLinux联盟
   if ( $this -> getSearch()) z6JLinux联盟
   { z6JLinux联盟
   if ( ! $this -> BuildSearch()){ $this -> dbgFailed( $funct ); return ;} z6JLinux联盟
   if ( $this -> ResultSearch) z6JLinux联盟
   { z6JLinux联盟
   if ( eregi ( " WHERE " , $this -> Result)){ $this -> Result .= " AND " . $this -> ResultSearch;} z6JLinux联盟
   else { $this -> Result .= " WHERE " . $this -> ResultSearch;} z6JLinux联盟
   } z6JLinux联盟
   } z6JLinux联盟
   if ( $this -> getOrder()) z6JLinux联盟
   { z6JLinux联盟
   if ( ! $this -> BuildOrder()){ $this -> dbgFailed( $funct ); return ;} z6JLinux联盟
   $this -> Result .= " " . $this -> ResultOrder; z6JLinux联盟
   } z6JLinux联盟
   if ( $this -> getSort()) z6JLinux联盟
   { z6JLinux联盟
   if (@ $this -> ResultOrder) z6JLinux联盟
   { z6JLinux联盟
   $this -> Result .= " " . $this -> getSort(); z6JLinux联盟
   } z6JLinux联盟
   } z6JLinux联盟
   z6JLinux联盟
   return true ; z6JLinux联盟
   } z6JLinux联盟
   z6JLinux联盟
   function getCondition(){ return @ $this -> Condition;} z6JLinux联盟
   function getConditions(){ if ( count (@ $this -> Conditions) && is_array (@ $this -> Conditions)){ return @ $this -> Conditions;}} z6JLinux联盟
   function getFields(){ if ( count (@ $this -> Fields) && is_array (@ $this -> Fields)){ return @ $this -> Fields;}} z6JLinux联盟
   function getLeftJoin(){ if ( count (@ $this -> LeftJoin) && is_array (@ $this -> LeftJoin)){ return @ $this -> LeftJoin;}} z6JLinux联盟
   function getOrder(){ return @ $this -> Order;} z6JLinux联盟
   function getSearch(){ return @ $this -> Search;} z6JLinux联盟
   function getSort(){ return @ $this -> Sort ;} z6JLinux联盟
   function getTables(){ if ( count (@ $this -> Tables) && is_array (@ $this -> Tables)){ return @ $this -> Tables;}} z6JLinux联盟
   function getValues(){ if ( count (@ $this -> Values) && is_array (@ $this -> Values)){ return @ $this -> Values;}} z6JLinux联盟
   z6JLinux联盟
   function setCondition( $input ){ $this -> Condition = $input ;} z6JLinux联盟
   function setConditions( $input ) z6JLinux联盟
   { z6JLinux联盟
   if ( is_array ( $input )){ $this -> Conditions = $input ;} z6JLinux联盟
   else { $this -> Error = get_class ( $this ) . " ::setConditions \nParameter input not array " ; return ;} z6JLinux联盟
   } z6JLinux联盟
   function setFields( $input ) z6JLinux联盟
   { z6JLinux联盟
   if ( is_array ( $input )){ $this -> Fields = $input ;} z6JLinux联盟
   else { $this -> Error = get_class ( $this ) . " ::setFields \nParameter input not array " ; return ;} z6JLinux联盟
   } z6JLinux联盟
   function setLeftJoin( $input ) z6JLinux联盟
   { z6JLinux联盟
   if ( is_array ( $input )){ $this -> LeftJoin = $input ;} z6JLinux联盟
   else { $this -> Error = get_class ( $this ) . " ::setFields \nParameter input not array " ; return ;} z6JLinux联盟
   } z6JLinux联盟
   function setOrder( $input ){ $this -> Order = $input ;} z6JLinux联盟
   function setSearch( $input ){ $this -> Search = $input ;} z6JLinux联盟
   function setSort( $input ){ $this -> Sort = $input ;} z6JLinux联盟
   function setTables( $input ) z6JLinux联盟
   { z6JLinux联盟
   if ( is_array ( $input )){ $this -> Tables = $input ;} z6JLinux联盟
   else { $this -> Error = get_class ( $this ) . " ::setTables \nParameter input not array " ; return ;} z6JLinux联盟
   } z6JLinux联盟
   function setValues( $input ) z6JLinux联盟
   { z6JLinux联盟
   if ( is_array ( $input )){ $this -> Values = $input ;} z6JLinux联盟
   else { $this -> Error = get_class ( $this ) . " ::setValues \nParameter input not array " ; return ;} z6JLinux联盟
   } z6JLinux联盟
  } z6JLinux联盟
   ?> z6JLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·PHP5中的this,self和parent关键字详解  (2007-11-21 15:29:33)
 ·FleaPHP默认上传类的一个隐患  (2007-11-21 15:28:31)
 ·我的模板分析引擎类PHP的.net开发方法--功能介绍篇  (2007-11-21 15:27:33)
 ·apache+mysql+php安装过程  (2007-11-21 11:47:25)
 ·redhat as4下Mysql5+php5+apache2.2.4+GD2安装  (2007-11-07 16:49:48)
 ·红旗6+apache2.2.6+mysql5+PHP5.2.4+ZO3.3.0配置  (2007-11-05 17:26:29)
 ·开发大型PHP项目的方法  (2007-10-26 10:59:07)
 ·让PHP支持页面回退的两种方法  (2007-10-26 10:58:28)
 ·Fedora Linux+Apache+MySQL+PHP安装配  (2007-10-26 10:33:35)
 ·Debian下Apache2+Mysql5+Php5的安装配置  (2007-10-24 10:32:41)