Heim >Backend-Entwicklung >PHP-Tutorial >PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的_PHP

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

WBOY
WBOYOriginal
2016-06-01 12:15:011265Durchsuche

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

但需要导入:

require_once ./db/ez_sql_core.php;
require_once ./db/ez_sql_mysql.php;

帮助文档:http://jvmultimedia.com/docs/ezsql/ez_sql_help.htm 

上图 :


核心代码:
复制代码 代码如下:
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 '
';
?>



代码打包下载

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn