PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的) |
本文标签:MYSQL,代码生成 根据 Mysql 里的字段 自动生成 类文件: 但需要导入: require_once ./db/ez_sql_core.php; 帮助文档:http://jvmultimedia.com/docs/ezsql/ez_sql_help.htm 上图 :
复制代码 代码如下: <?php class db{ /********************************************************************** * Author: fangjun (fangjunai@163.com) * Name..: PHP_For_MySQL_Helper v1.0 * Desc..: 自动生成数据库操作类 * Date..: 2011-7-22 /**********************************************************************/ private $db_server = localhost; private $db_username = root; private $db_password = ; private $primary_key = null; //初始化 public function __construct(){ $this->db_conn = mysql_connect($this->db_server,$this->db_username,$this->db_password) or die(Error:.mysql_error()); } //返回所以的数据库名称 public function db_list(){ $databasename = array(); $i=0; $list = mysql_list_dbs($this->db_conn); while ($row = mysql_fetch_object($list)) { $databasename[$i] = $row->Database; $i++; } mysql_close(); return $databasename; } //返回所以的数据库名称 public function table_list($databasename){ $tablename = array(); $i=0; $result = @mysql_list_tables($databasename); while($row = mysql_fetch_array($result,MYSQL_NUM)){ $tablename[$i] = $row[0]; $i++; } mysql_free_result($result); mysql_close(); return $tablename; } //返回表里的字段 public function field_list($databasename,$tablename){ $fieldname = array(); $v = 0; mysql_select_db($databasename,$this->db_conn); $rel = mysql_query("select * from ".$tablename); for($i=0;$i<mysql_num_fields($rel);$i++){ $meta = mysql_fetch_field($rel); if($meta){ if($meta->primary_key==1){ $this->primary_key = $meta->name; }else{ $fieldname[$v] = $meta->name; $v++; } } } mysql_close(); return $fieldname; } public function showclass($databasename,$tablename){ $field = $this->field_list($databasename,$tablename); $this->primary_key; $key = null; $val = null; $sql = null; $tmp = null; $html = ////////////////////////////////////<br/>; $html = $html.//使用方法<br/>; $html = $html.// 导入<br/>; $html = $html.// ez_sql:http://jvmultimedia.com/docs/ezsql/ez_sql_help.htm; $html = $html.// require_once \./db/ez_sql_core.php;<br/>; $html = $html.// require_once \./db/ez_sql_mysql.php;<br/>; $html = $html.// $db = new ezSQL_mysql($cfg_db_user,$cfg_db_pass,$cfg_db_name,$cfg_db_host);<br/>; $html = $html.// $db->query(\set names utf8\);<br/>; $html = $html.// 调用<br/>; $html = $html.// $forum = new Forum($db);<br/>; $html = $html.// $forum->save($Posts);<br/>; $html = $html.////////////////////////////////////<br/><br/><br/>; $html = $html.// 作者:<br/>; $html = $html.// 备注:<br/>; $html = $html.// 创建时间:.date(Y-m-d H:i:s).<br/>; $html = $html.<PRE> class .$tablename.{<br/>; $html = $html.<br/>; $html = $html. private $db; $html = $html.<br/>; $html = $html.<br/>; $html = $html. //实例化 <br/>; $html = $html. public function .$tablename.($db){<br/>; $html = $html. $this->db = $db;<br/>; $html = $html. }<br/>; $html = $html.<br/>; $html = $html. //保存记录<br/>; $html = $html. public function save($arry){<br/>; for($i=0;$i<count($field);$i++){ $key = $key.$field[$i].,; $val = $val.\{$arry[.$field[$i].]}\,; } $sql = "\"insert into ".$tablename." (".rtrim($key,",").")values(".rtrim($val,",").")\""; $html = $html. $sql=.$sql.;<br/>; $html = $html. return $this->db->query($sql);<br/>; $html = $html. }<br/>; $html = $html.<br/>; $html = $html. //根据主键更新记录 <br/>; $html = $html. public function update($arry){<br/>; for($i=0;$i<count($field);$i++){ $tmp = $tmp.$field[$i].=\{$arry[.$field[$i].]}\,; } $sql = "\"update ".$tablename." set ".rtrim($tmp,",")." where ".$this->primary_key.=".$arry[.$this->primary_key.]; $html = $html. $sql=.$sql.;<br/>; $html = $html. return $this->db->query($sql);<br/>; $html = $html. }<br/>; //PostID={$Posts[PostID]}"; $html = $html.<br/>; $html = $html. //根据主键删除记录 <br/>; $html = $html. public function delete($.$this->primary_key.){<br/>; $sql = "\"delete from ".$tablename." where ".$this->primary_key."=\".$".$this->primary_key; $html = $html. $sql=.$sql.;<br/>; $html = $html. return $this->db->query($sql);<br/>; $html = $html. }<br/>; $html = $html.<br/>; $html = $html. //根据主键查询一条记录 <br/>; $html = $html. public function getQueryById($.$this->primary_key.){<br/>; $sql = "\"select * from ".$tablename." where ".$this->primary_key."=\".$".$this->primary_key; $html = $html. $sql=.$sql.;<br/>; $html = $html. return $this->db->get_row($sql);<br/>; $html = $html. }<br/>; $html = $html.<br/>; $html = $html. //查询全部记录 <br/>; $html = $html. public function getQuery(){<br/>; $sql = "\"select * from ".$tablename."\""; $html = $html. $sql=.$sql.;<br/>; $html = $html. return $this->db->get_results($sql);<br/>; $html = $html. }<br/>; $html = $html.<br/>; $html = $html.<br/>; $html = $html.}</PRE>; echo $html; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> PHP For MySQL Helper v1.0 </title> <style> body{ font-size:14px;} h3{ padding:0px; margin:0px; background-color:#333; color:#FFF;font-size:14px; } .dblist,.tablelist,.show{width:100%;padding:10px 0;} a:link {} a:hover {color:#F00} </style> </head> <body> <?php ini_set(default_charset, utf-8); echo <div class=\dblist\>; echo <h3>请选择数据库</h3>; //----------------------------------- $DB = new db(); $dblist = $DB->db_list(); for ($row=0;$row<count($dblist);$row++){ echo <a href="?databasename=.$dblist[$row].">.$dblist[$row].</a><br/>; } //----------------------------------- echo </div>; echo <div class=\tablelist\>; echo <h3>请选择表</h3>; //----------------------------------- if(isset($_GET[databasename])){ $databasename = $_GET[databasename]; $DB = new db(); $tablelist = $DB->table_list($databasename); for ($i=0;$i<count($tablelist);$i++){ echo <a href="db.php?databasename=.$databasename.&tablename=.$tablelist[$i].">.$tablelist[$i].</a><br/>; } } //----------------------------------- echo </div>; echo <div class=\show\>; echo <h3>自动生成数据类</h3>; //----------------------------------- if(isset($_GET[databasename])&& isset($_GET[tablename])){ $databasename = $_GET[databasename]; $tablename = $_GET[tablename]; $DB = new db(); $DB->showclass($databasename,$tablename); } //----------------------------------- echo </div>; ?> </body> </html> 代码打包下载 |