/*---------------------------------------------------------------*/
|
/*
|
Titre : Générateur de classe
|
|
URL : https://phpsources.net/code_s.php?id=449
|
Auteur : rgz
|
Date édition : 02 Sept 2008
|
*/
|
/*---------------------------------------------------------------*/
|
header('Content-Type: text/plain');
|
|
/*CONF*/
|
define(__DB_HOST__, '127.0.0.1');
|
define(__DB_USER__, 'root');
|
define(__DB_PASS__, '');
|
define(__DB_DATABASE__, 'mysql');
|
define(__DB_TABLE__, 'user');
|
|
|
/*CONNEXION*/
|
$FCTCONNX = mysql_connect(__DB_HOST__,__DB_USER__,__DB_PASS__)
|
or die(("Impossible de se connecter a la base de donnees"));
|
mysql_select_db(__DB_DATABASE__) or die(("Impossible de trouver la base"));;
|
|
/*DESCRIPTION DB*/
|
$query="DESC ".__DB_TABLE__;
|
$result=mysql_query($query) or die(mysql_error());
|
while($val=mysql_fetch_array($result)){
|
$res[]=strtolower($val[0]);
|
}
|
|
/*SELECT*/
|
foreach($res as $value) $lst_val_query.="\r\n\t".$value.' AS '.$value.',';
|
$lst_val_query=substr($lst_val_query,0,-1)."\r\n";
|
$select="\t".'$select=\'SELECT '.$lst_val_query.
|
"\t".'FROM '.$table.''."\r\n".
|
"\t".'WHERE '.$res[0].'=\'.$id;'."\r\n".
|
"\t".'$result=mysql_query($select) or die(mysql_error());'."\r\n".
|
"\t".'if($val=mysql_fetch_array($result)){'."\r\n";
|
foreach($res as $value) $select.="\t\t".'$this->'.$value.'=stripslashes($val[\''
|
.$value.'\']);'."\r\n".'';
|
$select.="\t".'}else return false;'."\r\n";
|
|
/*INSERT*/
|
foreach($res as $id=>$value)
|
if($id>0)
|
$lst_update_query.="\r\n\t\t".$value.' = "\'.addslashes($this->'.$value.
|
').\'",';
|
$lst_update_query=substr($lst_update_query,0,-1)."\r\n";
|
$INSERT='$insert=\'INSERT INTO '.$table."\r\n".'SET '.$lst_update_query.'\';'.
|
"\r\n".
|
'$result=mysql_query($insert) or die(mysql_error());'."\r\n\r\n";
|
|
/*UPDATE*/
|
$UPDATE="\t".'$update=\'UPDATE '.$table.''."\r\n\t\t".
|
'SET '.$lst_update_query."\t\t".
|
'WHERE '.$res[0].'=\'.$this->'.$res[0].';'."\r\n\t\t".
|
'$result=mysql_query($update) or die(mysql_error());'."\r\n\t";
|
|
/*VARS*/
|
foreach($res as $value) {
|
$lstvars.="\r\n".'private $'.$value.';';
|
}
|
$lstrvars.="\r\n".'private $Must_Update=false;';
|
|
/*GET*/
|
foreach($res as $value) {
|
$lstget.="\r\n".
|
'public function get_'.$value.'(){'."\r\n\t".
|
'return $this->'.$value.';'."\r\n".
|
'}'."\r\n";
|
}
|
|
/*SET*/
|
foreach($res as $value) {
|
$lstget.="\r\n".'public function set_'.$value.'($value){'."\r\n\t".
|
'$this->'.$value.'=$value;'."\r\n\t".
|
'$this->Must_Update=true;'."\r\n\t".
|
'return true;'."\r\n".
|
'}'."\r\n".'';
|
}
|
|
|
/*AFFICHAGE*/
|
echo '
|
class '.ucfirst($table).' {'."\r\n".
|
$lstvars.''."\r\n"."\r\n".'
|
public function __construct($id) {'."\r\n".
|
"\t".'if(empty($id)) return false;'."\r\n"."\r\n".
|
$select.'}'."\r\n"."\r\n".
|
'public function __destruct() {'."\r\n\t".
|
'if($this->Must_Update===true){'."\r\n\t".
|
$UPDATE.'}'."\r\n".'}'."\r\n"."\r\n".'
|
|
public static function creer(){'."\r\n\t".
|
'mysql_query("INSERT INTO '.$table.'" SET ?????=?????) or die(mysql_error());'.
|
"\r\n\t".
|
'$id = mysql_insert_id();'."\r\n\t".
|
'return new '.ucfirst($table).'($id);'."\r\n".'}'."\r\n".
|
$lstget."\r\n".
|
'}';
|
|
|
| ?> |