MySQL のフィールドに基づいてクラス ファイルを自動的に生成します:
ただし、インポートする必要があります:
require_once ./db/ez_sql_core.php;
コアコード:
コードをコピーします コードは次のとおりです:
class db{
/*************************************************** * ****************
* 著者: fangjun (fangjunai@163.com)
* 名前..: PHP_For_MySQL_Helper v1.0
* 説明: データベース操作クラスを自動的に生成する
* 日付: 2011-7-22
/************************************ * ********************************/
private $db_server = 'localhost';
プライベート $db_username = 'root';
プライベート $db_password = '';
プライベート $primary_key = null;
//初期化
public function __construct(){
$this->db_conn = mysql_connect($this->db_server,$this->db_username,$this->db_password) または 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)) {
$データベース名[$i] = $row->データベース;
$i++;
}
mysql_close();
$データベース名を返します;
}
// 返されるデータベース名
public function table_list($databasename){
$tablename = array();
$i=0;
$result = @mysql_list_tables($データベース名);
while($row = mysql_fetch_array($result,MYSQL_NUM)){
$tablename[$i] = $row[0];
$i++;
}
mysql_free_result($result);
mysql_close();
$テーブル名を返します;
}
//表里のフィールドを返す
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
if($meta){
if($meta->primary_key==1){
$this->primary_key = $meta->name;
}else{
$フィールド名[$v] = $meta->name;
$v++;
}
}
}
mysql_close();
$フィールド名を返します;
}
public function showclass($databasename,$tablename){
$field = $this->field_list($databasename,$tablename);
$this->主キー;
$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 = 新しいフォーラム($db);
';
$html = $html.'// $forum->save($Posts);
';
$html = $html.'///////////////////////////////////
';
$html = $html.'// 作成者:
';
$html = $html.'// 注:
';
$html = $html.'// 作成時刻:'.date('Y-m-d H:i:s').'
';
$html = $html.'クラス '.$テーブル名.'{<br/>'; <br>$html = $html.'<br/>'; <br>$html = $html.'プライベート $db'; <br>$html = $html.'<br/>'; <br>$html = $html.'<br/>'; <br>$html = $html.' //实例化 <br/>'; <br>$html = $html.'パブリック関数 '.$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 = ""「.$テーブル名」に挿入します。 (".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 = ""更新 ".$tablename." ".rtrim($tmp,",") を設定します。ここで、「.$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 = ".$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/>'; <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/>'; <br>$html = $html.' public function getQuery(){<br/>'; <br>$sql = ""select * from ".$tablename."""; $sql='.$sql.';<br/>'; <br>$html = $html.'; return $this->db->get_results($sql);<br/>'; <br>$html = $html.' }<br/>'; <br>$html = $html.'<br/>'; <br>$html = $html.';
';
echo $html;
}
?>
PHP For MySQL ヘルパー v1.0
body{ font-size:14px;}
h3 ; マージン:0px; 背景色:#FFF; フォントサイズ:14px; }
.dblist,.tablelist,.show{幅:100%;パディング:10px 0;} }
a:hover {color:#F00}
ini_set('default_charset', 'utf-8');
echo '请选择数据库
'; -----------------
$DB = 新しい db();
$dblist = $DB->db_list(); count($dblist);$row++){
echo ''.$dblist[$row].'
;
}
//-----------------------------------
echo '
echo '
echo '请选择表
';
//-----------------------------------
if(isset($_GET['データベース名'] )){
$データベース名 = $_GET['データベース名'];
$DB = 新しい db();
$tablelist = $DB->table_list($データベース名);
for ($i=0;$i
';
}
}
//--------------------------------------------
echo '
echo '
echo '自動生成データベース类
';
//-----------------------------------
if(isset($_GET['データベース名'] )&& isset($_GET['テーブル名'])){
$データベース名 = $_GET['データベース名'];
$テーブル名 = $_GET['テーブル名'];
$DB = 新しい db();
$DB->showclass($データベース名,$テーブル名);
}
//-----------------------------------
echo '
?>