Home >Backend Development >PHP Tutorial >PHP FOR MYSQL code generation assistant (automatically generates class files based on fields in Mysql)_PHP tutorial

PHP FOR MYSQL code generation assistant (automatically generates class files based on fields in Mysql)_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:26:401137browse

Automatically generate class files based on fields in Mysql:

But need to import:

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

Help documentation: http://jvmultimedia.com/docs/ezsql/ez_sql_help.htm

Above picture:


Core code:

Copy code The code is as follows:

class db{
/***************************************************** ******************
* Author: fangjun (fangjunai@163.com)
* Name..: PHP_For_MySQL_Helper v1.0
* Desc. .: Automatically generate database operation classes
* 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($field);$i++){ <br>$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($field);$i++){ <BR>$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.'}
';
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 '
';
?>



代码打包下载

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/323915.htmlTechArticle根据 Mysql 里的字段 自动生成 类文件: 但需要导入: require_once ./db/ez_sql_core.php; require_once ./db/ez_sql_mysql.php; 帮助文档:http://jvmultimedia.com...
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