Home  >  Article  >  php教程  >  PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的

PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的

WBOY
WBOYOriginal
2016-06-06 20:38:061052browse

根据 Mysql里的字段自动生成类文件的实现代码,学习php的朋友可以参考下。

根据 Mysql 里的字段 自动生成 类文件:

但需要导入:

require_once ./db/ez_sql_core.php;
require_once ./db/ez_sql_mysql.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$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 = '////////////////////////////////////
';
$html = $html.'//使用方法
';
$html = $html.'// 导入
';
$html = $html.'// ez_sql:http://jvmultimedia.com/docs/ezsql/ez_sql_help.htm';
$html = $html.'// require_once \'./db/ez_sql_core.php;
';
$html = $html.'// require_once \'./db/ez_sql_mysql.php;
';
$html = $html.'// $db = new ezSQL_mysql($cfg_db_user,$cfg_db_pass,$cfg_db_name,$cfg_db_host);
';
$html = $html.'// $db->query(\'set names utf8\');
';
$html = $html.'// 调用
';
$html = $html.'// $forum = new Forum($db);
';
$html = $html.'// $forum->save($Posts);
';
$html = $html.'////////////////////////////////////


';
$html = $html.'// 作者:
';
$html = $html.'// 备注:
';
$html = $html.'// 创建时间:'.date('Y-m-d H:i:s').'
';
$html = $html.'

 class '.$tablename.'{<br>'; <br>$html = $html.'<br>'; <br>$html = $html.' private $db'; <br>$html = $html.'<br>'; <br>$html = $html.'<br>'; <br>$html = $html.' //实例化 <br>'; <br>$html = $html.' public function '.$tablename.'($db){<br>'; <br>$html = $html.' $this->db = $db;<br>'; <br>$html = $html.' }<br>'; <br>$html = $html.'<br>'; <br>$html = $html.' //保存记录<br>'; <br>$html = $html.' public function save($arry){<br>'; <br>for($i=0;$i<count>$key = $key.$field[$i].','; <br>$val = $val.'\'{$arry['.$field[$i].']}\','; <br>} <br>$sql = "\"insert into ".$tablename." (".rtrim($key,",").")values(".rtrim($val,",").")\""; <br>$html = $html.' $sql='.$sql.';<br>'; <br>$html = $html.' return $this->db->query($sql);<br>'; <br>$html = $html.' }<br>'; <br>$html = $html.'<br>'; <br>$html = $html.' //根据主键更新记录 <br>'; <br>$html = $html.' public function update($arry){<br>'; <br>for($i=0;$i<count>$tmp = $tmp.$field[$i].'=\'{$arry['.$field[$i].']}\','; <br>} <br>$sql = "\"update ".$tablename." set ".rtrim($tmp,",")." where ".$this->primary_key.'=".$arry['.$this->primary_key.']'; <br>$html = $html.' $sql='.$sql.';<br>'; <br>$html = $html.' return $this->db->query($sql);<br>'; <br>$html = $html.' }<br>'; <br>//PostID='{$Posts['PostID']}'"; <br>$html = $html.'<br>'; <br>$html = $html.' //根据主键删除记录 <br>'; <br>$html = $html.' public function delete($'.$this->primary_key.'){<br>'; <br>$sql = "\"delete from ".$tablename." where ".$this->primary_key."=\".$".$this->primary_key; <br>$html = $html.' $sql='.$sql.';<br>'; <br>$html = $html.' return $this->db->query($sql);<br>'; <br>$html = $html.' }<br>'; <br>$html = $html.'<br>'; <br>$html = $html.' //根据主键查询一条记录 <br>'; <br>$html = $html.' public function getQueryById($'.$this->primary_key.'){<br>'; <br>$sql = "\"select * from ".$tablename." where ".$this->primary_key."=\".$".$this->primary_key; <br>$html = $html.' $sql='.$sql.';<br>'; <br>$html = $html.' return $this->db->get_row($sql);<br>'; <br>$html = $html.' }<br>'; <br>$html = $html.'<br>'; <br>$html = $html.' //查询全部记录 <br>'; <br>$html = $html.' public function getQuery(){<br>'; <br>$sql = "\"select * from ".$tablename."\""; <br>$html = $html.' $sql='.$sql.';<br>'; <br>$html = $html.' return $this->db->get_results($sql);<br>'; <br>$html = $html.' }<br>'; <br>$html = $html.'<br>'; <br>$html = $html.'<br>'; <br>$html = $html.'}</count></count>
';
echo $html;
}
}
?>




PHP For MySQL Helper v1.0



ini_set('default_charset', 'utf-8');
echo '
';
echo '

请选择数据库

';
//-----------------------------------
$DB = new db();
$dblist = $DB->db_list();
for ($row=0;$rowecho ''.$dblist[$row].'
';
}
//-----------------------------------
echo '
';
echo '
';
echo '

请选择表

';
//-----------------------------------
if(isset($_GET['databasename'])){
$databasename = $_GET['databasename'];
$DB = new db();
$tablelist = $DB->table_list($databasename);
for ($i=0;$iecho ''.$tablelist[$i].'
';
}
}
//-----------------------------------
echo '
';
echo '
';
echo '

自动生成数据类

';
//-----------------------------------
if(isset($_GET['databasename'])&& isset($_GET['tablename'])){
$databasename = $_GET['databasename'];
$tablename = $_GET['tablename'];
$DB = new db();
$DB->showclass($databasename,$tablename);
}
//-----------------------------------
echo '
';
?>



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn