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

前端之家收集整理的这篇文章主要介绍了PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

根据 MysqL 里的字段 自动生成文件

但需要导入:

require_once ./db/ez_sql_core.PHP;
require_once ./db/ez_sql_MysqL.PHP;

帮助文档:

上图 :


核心代码:

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


<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a> For <a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a> Helper v1.0



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

请选择数据库

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

自动生成数据类

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



代码打包下载

猜你在找的PHP相关文章