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

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

WBOY
WBOYOriginal
2016-06-06 20:38:061048Durchsuche

根据 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 '
';
?>



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