|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
CODE PHP GÉNÉRANT UNE CLASSE POUR CHAQUE TABLE EXISTANTE DANS LA BASE DE DONNÉE MYSQL
Information sur la source
Description
C'est une classe PHP qui créé automatiquement une classe pour chaque table MySQL. C'est une version bêta que j'ai développé à l'arrache... Si vous trouvez des bugs n'hésitez pas à me signaler. Amusez-vous bien...... à bientôt...... @+
Source
- <?
- class MysqlConnect {
- var $host; // Server Name
- var $user; // User Name
- var $password; // Password
- var $database; // DataBase Name
- var $idConnexion; // Connexion id
- var $isConnected; // True or False
- var $listdbArray; // Array
-
- var $table; // Default Table
-
- var $query;
- var $result;
- /********************************
- / Constructor
- *********************************/
-
- function MysqlConnect() {
- $this->host = "";
- $this->user = "";
- $this->password = "";
- $this->database = "";
- $this->idConnexion = FALSE;
- $this->isConnected = FALSE;
- $this->listdbArray = array();
- }
-
- /********************************
- / Connexion to MySQL Server
- *********************************/
-
- function doConnect () {
- if ($this->isConnected == FALSE) {
- $this->idConnexion = @mysql_connect($this->getHost(), $this->getUser (), $this->getPassword());
- if (!$this->idConnexion) {
- $this->MysqlConnexionErr();
- $this->isConnected = FALSE;
- return 0;
- }
-
- $selectDb = @mysql_select_db($this->getDatabase($this->idConnexion));
- if (!$selectDb) {
- $this->MysqlErr ('Unable to select this database : <b>'.$this->getDatabase().'</b>');
- $this->isConnected = FALSE;
- $this->closeDb ();
- return 0;
- }
- }
- $this->isConnected = TRUE;
- //return $this->idConnexion;
- }
-
- /********************************
- / MySQL DataBase Lists
- *********************************/
-
- function MysqlListsDb () {
- if ($this->isConnected == TRUE) {
- $listsdb = @mysql_list_dbs($this->idConnexion);
- $dbNumRows = @mysql_num_rows($listsdb);
- if ($dbNumRows > 0) {
- //$this->printMsg ($dbNumRows);
- $i=0;
- while($i<$dbNumRows) {
- $this->listdbArray [$i] = @mysql_tablename ($listsdb, $i);
- print '<a href="'.$_SERVER["PHP_SELF"].'?db='.$this->listdbArray [$i].'">'.$this->listdbArray [$i].'</a><br>';
- $i++;
- }
- } else {
- $this->printMsg ('No database ...');
- }
- @mysql_free_result ($listsdb);
- }
- }
-
- /********************************
- / MySQL DataBase Table Lists
- *********************************/
-
- function MysqlListsTable ($strDb='') {
- //var_dump(isset($_REQUEST['db']));
- if (isset($_REQUEST['db'])) {
- $listTable = mysql_list_tables($this->getDatabase(), $this->idConnexion);
- $tableNumRows = mysql_num_rows($listTable);
- if ($tableNumRows>0) {
- print '<hr>';
- print 'Nombre de table disponible dans la base <b>'.$this->getDatabase().' : '.$tableNumRows.'</b> : <b style="color:blue;">'.$row.'</b><br>';
- print 'Tables disponibles :<br>';
- $i=0;
- while($i < $tableNumRows) {
- # #
- # Call Create Class Method to generate a class for each table in data base #
- # #
- //$this->create_class (mysql_tablename($listTable, $i));
- print '<ul><li><a href="'.$_SERVER["PHP_SELF"].'?db='.$_REQUEST['db'].'&table='.mysql_tablename($listTable, $i).'">'.mysql_tablename($listTable, $i).'</a></li></ul>';
- $i++;
- }
- } else {
- $this->printMsg ('Aucune table n\'est disponible dans cette base de donnée...');
- }
- @mysql_free_result ($listTable);
- }
- }
-
- /********************************
- / MySQL DataBase Table Fields
- *********************************/
- function MysqlListsFields () {
- if (!$this->table == '') {
- $qry = $this->MysqlSelect ($this->getTable());
- $rs = $this->MysqlQuery ($qry);
- $row = @mysql_num_fields($rs);
- $nbCol = 3;
- $resteRowCol = $row % $nbCol;
- $nbLigne = ($row - $reste) / $nbCol;
- print $resteRowCol. ' => '.$nbLigne;
- if ($row > 0) {
- print '<hr>';
- print 'Nombre de champ disponible dans la table <b>'.$this->getTable().'</b> : <b style="color:blue;">'.$row.'</b><br>';
- print 'Champs disponibles :<br>';
- $i=0;
- $j=1;
- print '<table border=0>';
- while($obj = mysql_fetch_field ($rs)) {
-
- print ' <tr>';
- print ' <td>'.$obj->name.'</td>';
- if (($i+$j) == 3) {
- print ' </tr>';
- } else {
-
- print ' </tr>';
-
- //print '<ul><li> '.$j.' name : '.$obj->name.' => type : ' $obj->type.' => length : '. mysql_field_len ($rs, $i).'</li></ul>';
- $i++;
- $j++;
- }
- }
- print '</table>';
- print '<hr>';
- } else {
- $this->printMsg ('Aucun champ n\'est disponible dans cette table...');
- }
- @mysql_free_result ($rs);
- }
- }
-
-
- /********************************************************************************
- * Cette fonction crée automatiquement une class php
- * Donnez un nom de table du base donné MySQL
- * et le tour est joué....
- * Amusez vous bien :-)
- *********************************************************************************/
- # Method Create Class
- function create_class ($table_name='') {
- if (!empty($table_name)) {
- $out = '';
- $out .= '';
- $out = '<?'; // < ?
- $out .= "<br>";
- $out .= "#File Name : cls_".$table_name.".php";
- $out .= "<br>";
- $out .= "#Date : ".date('Y-m-d - H:m:s');
- $out .= "<br>";
- $out .= "#Author : Coumarane COUPPANE";
- $out .= "<br>";
- $out .= "<br>";
- $out .= 'class '.$table_name.' {';
- $out .= "<br>";
- $query = $this->MysqlSelect ($table_name);
- $result = $this->MysqlQuery ($query);
- $num_rows = mysql_num_fields ($result);
- $i=0;
- if ($num_rows > $i) {
- $num_fields = mysql_num_fields ($result);
- # Variables
- for ($k=0; $k<$num_fields; $k++) {
- $k_fields = mysql_fetch_field ($result, $k);
- if ($k_fields->primary_key == 1) {
- $idtab = $k_fields->name;
- }
- $out .= 'var $'.$k_fields->name.';';
- $out .= "<br>";
- }
-
- # Construct
- $out .= "<br>";
- $out .= "# Construct";
- $out .= "<br>";
- $out .= 'function '.$table_name. ' () {';
- $out .= "<br>";
- for ($k=0; $k<$num_fields; $k++) {
- $k_fields = mysql_fetch_field ($result, $k);
- if ($k_fields->primary_key == 1) {
- $idtab = $k_fields->name;
- }
- $out .= '$this->'.$k_fields->name.' = "";';
- $out .= "<br>";
- }
- $out .= '}';
- $out .= "<br>";
-
- # Property SET
- $out .= "<br>";
- $out .= '# Property SET';
- $out .= "<br>";
- for ($j=0; $j<$num_fields; $j++) {
- $fields = mysql_fetch_field ($result, $j);
- $out .= "<br>";
- $out .= 'function set_'.$fields->name. ' ($'.$fields->name.') {';
- $out .= "<br>";
- $out .= '$this->'.$fields->name.' = $'.$fields->name.';';
- $out .= "<br>";
- $out .= '}';
- $out .= "<br>";
- }
-
- # Property GET
- $out .= "<br>";
- $out .= '# Property GET';
- $out .= "<br>";
- for ($l=0; $l<$num_fields; $l++) {
- $l_fields = mysql_fetch_field ($result, $l);
- $out .= "<br>";
- $out .= 'function get_'.$l_fields->name. ' () {';
- $out .= "<br>";
- $out .= 'return $this->'.$l_fields->name.';';
- $out .= "<br>";
- $out .= '}';
- $out .= "<br>";
- }
-
- #Function Insert Start ##################################
- $out .= '<br>';
- $out .= '<br>';
- $out .= '# Function Insert';
- $out .= '<br>';
- $out .= 'function '.$table_name.'_insert () {'; // {:{ (:( ):)
- $out .= '<br>';
- $out .= '$query = "INSERT INTO '.$table_name.' (<br>';
- $z = 1;
- for ($j=0; $j<$num_fields; $j++) {
- $fields = mysql_fetch_field ($result, $j);
- if ($z == $num_fields) { $virgule = ''; } else {$virgule = ',';}
- $out .= $fields->name.$virgule.'<br>';
- //$out .= 'get_'.$fields->name;
- $z++;
- }
- $out .= ') VALUES (<br>';
- $w = 1;
- for ($j=0; $j<$num_fields; $j++) {
- $fields = mysql_fetch_field ($result, $j);
- if ($w == $num_fields) { $virgule = ''; } else {$virgule = ',';}
- $out .= '\'".$this->get_'.$fields->name.' ()."\''.$virgule.'<br>';
- $w++;
- }
- $out .= ')";';
- $out .= '<br>';
- $out .= '$result = mysql_query ($query);';
- $out .= '<br>';
- $out .= 'if (!$result) { return false;}';
- $out .= '<br>';
- $out .= 'return $result;';
- $out .= '<br>';
- $out .= '}';
- #Function Insert End ################################
-
- #Function Select Start #################################
- $out .= '<br>';
- $out .= '<br>';
- $out .= '# Function Select';
- $out .= '<br>';
- $out .= 'function '.$table_name.'_select () {'; // {:{ (:( ):)
- $out .= '<br>';
- $out .= '$query = "SELECT * FROM '.$table_name.'";';
- $out .= '<br>';
- $out .= '$result = mysql_query ($query);';
- $out .= '<br>';
- $out .= 'if (!$result) { return false;}';
- $out .= '<br>';
- $out .= 'return $result;';
- $out .= '<br>';
- $out .= '}';
- #Function Select End #################################
-
- #Function Fields Select Start #################################
- $out .= '<br>';
- $out .= '<br>';
- $out .= '# Function Fields Select';
- $out .= '<br>';
- $out .= 'function '.$table_name.'_fields_select ($fieldName, $data) {'; // {:{ (:( ):)
- $out .= '<br>';
- $out .= '$query = "SELECT * FROM '.$table_name.' WHERE ".$fieldName." = \'".$data."\'";';
- $out .= '<br>';
- $out .= '$result = mysql_query ($query);';
- $out .= '<br>';
- $out .= 'if (!$result) { return false;}';
- $out .= '<br>';
- $out .= 'return $result;';
- $out .= '<br>';
- $out .= '}';
- #Function Fields Select End #################################
-
- #Function Update Start ###############################
- $out .= '<br>';
- $out .= '<br>';
- $out .= '# Function Update';
- $out .= '<br>';
- $out .= 'function '.$table_name.'_update () {'; // {:{ (:( ):)
- $out .= '<br>';
- $out .= '$query = "UPDATE '.$table_name.' SET<br>';
- $y = 1;
- for ($j=0; $j<$num_fields; $j++) {
- $fields = mysql_fetch_field ($result, $j);
- if ($y == $num_fields) { $virgule = ''; } else {$virgule = ',';}
- $out .= $fields->name.' = \'".$this->get_'.$fields->name.'( )."\''.$virgule.'<br>';
- $y++;
- }
- $out .= '";';
- $out .= '<br>';
- $out .= '$result = mysql_query ($query);';
- $out .= '<br>';
- $out .= 'if (!$result) { return false;}';
- $out .= '<br>';
- $out .= 'return $result;';
- $out .= '<br>';
- $out .= '}';
- #Function Update End ##################################
-
- #Function Fields Update Start #############################
- $out .= '<br>';
- $out .= '<br>';
- $out .= '# Function Fields Update';
- $out .= '<br>';
- $out .= 'function '.$table_name.'_fields_update ($fieldName, $data) {'; // {:{ (:( ):)
- $out .= '<br>';
- $out .= '$query = "UPDATE '.$table_name.' SET ".$fieldName." = \'".$data."\'";';
- $out .= '<br>';
- $out .= '$result = mysql_query ($query);';
- $out .= '<br>';
- $out .= 'if (!$result) { return false;}';
- $out .= '<br>';
- $out .= 'return $result;';
- $out .= '<br>';
- $out .= '}';
- #Function Fields Update End ##############################
-
- #Function Delete Start #################################
- $out .= '<br>';
- $out .= '<br>';
- $out .= '# Function Delete';
- $out .= '<br>';
- $out .= 'function '.$table_name.'_delete () {'; // {:{ (:( ):)
- $out .= '<br>';
- $out .= '$query = "DELETE FROM '.$table_name.'";';
- $out .= '<br>';
- $out .= '$result = mysql_query ($query);';
- $out .= '<br>';
- $out .= 'if (!$result) { return false;}';
- $out .= '<br>';
- $out .= 'return $result;';
- $out .= '<br>';
- $out .= '}';
- #Function Delete End #################################
-
- #Function Fields Delete Start #################################
- $out .= '<br>';
- $out .= '<br>';
- $out .= '# Function Fields Delete';
- $out .= '<br>';
- $out .= 'function '.$table_name.'_fields_delete ($fieldName, $data) {'; // {:{ (:( ):)
- $out .= '<br>';
- $out .= '$query = "DELETE FROM '.$table_name.' WHERE ".$fieldName." = \'".$data."\'";';
- $out .= '<br>';
- $out .= '$result = mysql_query ($query);';
- $out .= '<br>';
- $out .= 'if (!$result) { return false;}';
- $out .= '<br>';
- $out .= 'return $result;';
- $out .= '<br>';
- $out .= '}';
- $out .= '<br>';
- #Function Fields Delete End #################################
-
- #Function Table Nb Records Start ##############################
- $out .= '<br>';
- $out .= '# Function Table Nb Records';
- $out .= '<br>';
- $out .= 'function '.$table_name.'_num_rows () {';
- $out .= '<br>';
- $out .= ' $result = $this->'.$table_name.'_select ();';
- $out .= '<br>';
- $out .= ' if (!$result) {';
- $out .= '<br>';
- $out .= ' $this->err_mysql () ;';
- $out .= '<br>';
- $out .= ' return false;';
- $out .= '<br>';
- $out .= ' }';
- $out .= '<br>';
- $out .= ' if (($rows = mysql_num_rows ($result)) < 0) {';
- $out .= '<br>';
- $out .= ' return false;';
- $out .= '<br>';
- $out .= ' }';
- $out .= '<br>';
- $out .= ' return $rows;';
- $out .= '<br>';
- $out .= '}';
- $out .= '<br>';
- #Function Table Nb Records End ###############################
-
- # Function Table Loop Start #################################
- $out .= '<br>';
- $out .= '# Function Table Loop';
- $out .= '<br>';
- $out .= 'function '.$table_name.'_loop () {';
- $out .= '<br>';
- $out .= '$result = $this->'.$table_name.'_select ();';
- $out .= '<br>';
- $out .= 'if (!$result) {';
- $out .= '<br>';
- $out .= '$this->err_mysql () ;';
- $out .= '<br>';
- $out .= 'return false;';
- $out .= '<br>';
- $out .= '}';
- $out .= '<br>';
- $out .= '$rows = $this->'.$table_name.'_num_rows ();';
- $out .= '<br>';
- $out .= 'if ($rows > 0) {';
- $out .= '<br>';
- $out .= 'while ($obj = mysql_fetch_assoc ($result)) {';
- $out .= '<br>';
- $out .= '$tab_content [] = $obj;';
- $out .= '<br>';
- $out .= '}';
- $out .= '<br>';
- $out .= 'return $tab_content; ';
- $out .= '<br>';
- $out .= '}';
- $out .= '<br>';
- $out .= '}';
- $out .= '<br>';
- # Function Table Loop End ##################################
-
- #Function Err MySQL Start #################################
- $out .= '<br>';
- $out .= '# Function Err MySQL';
- $out .= '<br>';
- $out .= 'function err_mysql () {';
- $out .= '<br>';
- $out .= ' print "Error : ".mysql_error(). " File : ".__FILE__;';
- $out .= '<br>';
- $out .= '}';
- #Function Err MySQL End #################################
-
- $out .= '<br>';
- $out .= '}'; // }:}
- $out .= '<br>';
- $out .= '?>'; // ?:? // >:>
- $out .= '<br>';
- print $out;
- } else {
- print 'Nothing to display...';
- }
- mysql_free_result ($result);
- }
- }
-
- /********************************
- / MySql Select
- *********************************/
- function MysqlSelect ($tablename, $idname='', $id='') {
- if ($idname != '' AND $id != '') {
- $this->query = 'SELECT * FROM '.$tablename.' WHERE '.$idname.' = "'.$id.'"';
- } else {
- $this->query = 'SELECT * FROM '.$tablename;
- }
- return ($this->query);
- }
-
-
- /********************************
- / MySql Query
- *********************************/
-
- function MysqlQuery () {
- $this->result = @mysql_query ($this->query);
- if (!$this->result) {
- $this->MysqlErr('Vérifiez la requête : '.$this->query.'<br>');
- return 0;
- }
- return ($this->result);
- }
-
- /********************************
- / Print message
- *********************************/
-
- function printMsg ($strMsg) {
- print '<font style="font-family:arial, helvetica; font-size:12px; color:blue;">';
- print $strMsg.'<hr>';
- print '</font>';
- }
-
- /********************************
- / Close MySQL Server Connexion
- *********************************/
-
- function closeDb () {
- if ($this->isConnected == TRUE) {
- @mysql_close($this->idConnexion);
- }
- $this->isConnected = FALSE;
- }
-
- /********************************
- / MySQL Server Connexion Erreur
- *********************************/
- function MysqlConnexionErr () {
- print '<font style="font-family:arial, helvetica; font-size:12px; color:red">';
- print 'Unable to connect to the SERVER : <b>'.$this->getHost().'</b><br>';
- print '</font>';
- }
-
- /********************************
- / MySQL Server Erreur
- *********************************/
- function MysqlErr ($msg) {
- print '<font style="font-family:arial, helvetica; font-size:12px; color:red">';
- print $msg.'<hr>';
- print 'Erreur SQL : '.@mysql_error($this->idConnexion).'<br>';
- print 'Erreur no SQL : '.@mysql_errno($this->idConnexion).'<br>';
- print '</font>';
- }
-
- /********************************
- / Property SET
- *********************************/
-
- function setHost ($strHost='') {
- if (empty($strHost)) {
- $this->host = 'localhost';
- } else {
- $this->host = $strHost;
- }
- }
-
- function setUser ($strUser='') {
- $this->user = $strUser;
- }
-
- function setPassword ($strPass='') {
- if (empty($strPass)) {
- $this->password = '';
- } else {
- $this->password = $strPass;
- }
- }
-
- function setDatabase ($strDbase='') {
- if (empty($strDbase)) {
- $this->database = 'mysql';
- } else {
- $this->database = $strDbase;
- }
- }
-
- function setTable ($table='') {
- if (isset($_REQUEST['table'])) {
- $this->table = $table;
- } else {
- $this->table = '';
- }
- /*
- if (empty($table)) {
- $this->table = 'user';
- } else {
- $this->table = $table;
- }
- */
- }
-
-
- /********************************
- / Property GET
- *********************************/
-
- function getHost () {
- return $this->host;
- }
-
- function getUser () {
- return $this->user;
- }
-
- function getPassword () {
- return $this->password;
- }
-
- function getDatabase () {
- return $this->database;
- }
-
- function getTable () {
- return $this->table;
- }
- }
- ?>
<?
class MysqlConnect {
var $host; // Server Name
var $user; // User Name
var $password; // Password
var $database; // DataBase Name
var $idConnexion; // Connexion id
var $isConnected; // True or False
var $listdbArray; // Array
var $table; // Default Table
var $query;
var $result;
/********************************
/ Constructor
*********************************/
function MysqlConnect() {
$this->host = "";
$this->user = "";
$this->password = "";
$this->database = "";
$this->idConnexion = FALSE;
$this->isConnected = FALSE;
$this->listdbArray = array();
}
/********************************
/ Connexion to MySQL Server
*********************************/
function doConnect () {
if ($this->isConnected == FALSE) {
$this->idConnexion = @mysql_connect($this->getHost(), $this->getUser (), $this->getPassword());
if (!$this->idConnexion) {
$this->MysqlConnexionErr();
$this->isConnected = FALSE;
return 0;
}
$selectDb = @mysql_select_db($this->getDatabase($this->idConnexion));
if (!$selectDb) {
$this->MysqlErr ('Unable to select this database : <b>'.$this->getDatabase().'</b>');
$this->isConnected = FALSE;
$this->closeDb ();
return 0;
}
}
$this->isConnected = TRUE;
//return $this->idConnexion;
}
/********************************
/ MySQL DataBase Lists
*********************************/
function MysqlListsDb () {
if ($this->isConnected == TRUE) {
$listsdb = @mysql_list_dbs($this->idConnexion);
$dbNumRows = @mysql_num_rows($listsdb);
if ($dbNumRows > 0) {
//$this->printMsg ($dbNumRows);
$i=0;
while($i<$dbNumRows) {
$this->listdbArray [$i] = @mysql_tablename ($listsdb, $i);
print '<a href="'.$_SERVER["PHP_SELF"].'?db='.$this->listdbArray [$i].'">'.$this->listdbArray [$i].'</a><br>';
$i++;
}
} else {
$this->printMsg ('No database ...');
}
@mysql_free_result ($listsdb);
}
}
/********************************
/ MySQL DataBase Table Lists
*********************************/
function MysqlListsTable ($strDb='') {
//var_dump(isset($_REQUEST['db']));
if (isset($_REQUEST['db'])) {
$listTable = mysql_list_tables($this->getDatabase(), $this->idConnexion);
$tableNumRows = mysql_num_rows($listTable);
if ($tableNumRows>0) {
print '<hr>';
print 'Nombre de table disponible dans la base <b>'.$this->getDatabase().' : '.$tableNumRows.'</b> : <b style="color:blue;">'.$row.'</b><br>';
print 'Tables disponibles :<br>';
$i=0;
while($i < $tableNumRows) {
# #
# Call Create Class Method to generate a class for each table in data base #
# #
//$this->create_class (mysql_tablename($listTable, $i));
print '<ul><li><a href="'.$_SERVER["PHP_SELF"].'?db='.$_REQUEST['db'].'&table='.mysql_tablename($listTable, $i).'">'.mysql_tablename($listTable, $i).'</a></li></ul>';
$i++;
}
} else {
$this->printMsg ('Aucune table n\'est disponible dans cette base de donnée...');
}
@mysql_free_result ($listTable);
}
}
/********************************
/ MySQL DataBase Table Fields
*********************************/
function MysqlListsFields () {
if (!$this->table == '') {
$qry = $this->MysqlSelect ($this->getTable());
$rs = $this->MysqlQuery ($qry);
$row = @mysql_num_fields($rs);
$nbCol = 3;
$resteRowCol = $row % $nbCol;
$nbLigne = ($row - $reste) / $nbCol;
print $resteRowCol. ' => '.$nbLigne;
if ($row > 0) {
print '<hr>';
print 'Nombre de champ disponible dans la table <b>'.$this->getTable().'</b> : <b style="color:blue;">'.$row.'</b><br>';
print 'Champs disponibles :<br>';
$i=0;
$j=1;
print '<table border=0>';
while($obj = mysql_fetch_field ($rs)) {
print ' <tr>';
print ' <td>'.$obj->name.'</td>';
if (($i+$j) == 3) {
print ' </tr>';
} else {
print ' </tr>';
//print '<ul><li> '.$j.' name : '.$obj->name.' => type : ' $obj->type.' => length : '. mysql_field_len ($rs, $i).'</li></ul>';
$i++;
$j++;
}
}
print '</table>';
print '<hr>';
} else {
$this->printMsg ('Aucun champ n\'est disponible dans cette table...');
}
@mysql_free_result ($rs);
}
}
/********************************************************************************
* Cette fonction crée automatiquement une class php
* Donnez un nom de table du base donné MySQL
* et le tour est joué....
* Amusez vous bien :-)
*********************************************************************************/
# Method Create Class
function create_class ($table_name='') {
if (!empty($table_name)) {
$out = '';
$out .= '';
$out = '<?'; // < ?
$out .= "<br>";
$out .= "#File Name : cls_".$table_name.".php";
$out .= "<br>";
$out .= "#Date : ".date('Y-m-d - H:m:s');
$out .= "<br>";
$out .= "#Author : Coumarane COUPPANE";
$out .= "<br>";
$out .= "<br>";
$out .= 'class '.$table_name.' {';
$out .= "<br>";
$query = $this->MysqlSelect ($table_name);
$result = $this->MysqlQuery ($query);
$num_rows = mysql_num_fields ($result);
$i=0;
if ($num_rows > $i) {
$num_fields = mysql_num_fields ($result);
# Variables
for ($k=0; $k<$num_fields; $k++) {
$k_fields = mysql_fetch_field ($result, $k);
if ($k_fields->primary_key == 1) {
$idtab = $k_fields->name;
}
$out .= 'var $'.$k_fields->name.';';
$out .= "<br>";
}
# Construct
$out .= "<br>";
$out .= "# Construct";
$out .= "<br>";
$out .= 'function '.$table_name. ' () {';
$out .= "<br>";
for ($k=0; $k<$num_fields; $k++) {
$k_fields = mysql_fetch_field ($result, $k);
if ($k_fields->primary_key == 1) {
$idtab = $k_fields->name;
}
$out .= '$this->'.$k_fields->name.' = "";';
$out .= "<br>";
}
$out .= '}';
$out .= "<br>";
# Property SET
$out .= "<br>";
$out .= '# Property SET';
$out .= "<br>";
for ($j=0; $j<$num_fields; $j++) {
$fields = mysql_fetch_field ($result, $j);
$out .= "<br>";
$out .= 'function set_'.$fields->name. ' ($'.$fields->name.') {';
$out .= "<br>";
$out .= '$this->'.$fields->name.' = $'.$fields->name.';';
$out .= "<br>";
$out .= '}';
$out .= "<br>";
}
# Property GET
$out .= "<br>";
$out .= '# Property GET';
$out .= "<br>";
for ($l=0; $l<$num_fields; $l++) {
$l_fields = mysql_fetch_field ($result, $l);
$out .= "<br>";
$out .= 'function get_'.$l_fields->name. ' () {';
$out .= "<br>";
$out .= 'return $this->'.$l_fields->name.';';
$out .= "<br>";
$out .= '}';
$out .= "<br>";
}
#Function Insert Start ##################################
$out .= '<br>';
$out .= '<br>';
$out .= '# Function Insert';
$out .= '<br>';
$out .= 'function '.$table_name.'_insert () {'; // {:{ (:( ):)
$out .= '<br>';
$out .= '$query = "INSERT INTO '.$table_name.' (<br>';
$z = 1;
for ($j=0; $j<$num_fields; $j++) {
$fields = mysql_fetch_field ($result, $j);
if ($z == $num_fields) { $virgule = ''; } else {$virgule = ',';}
$out .= $fields->name.$virgule.'<br>';
//$out .= 'get_'.$fields->name;
$z++;
}
$out .= ') VALUES (<br>';
$w = 1;
for ($j=0; $j<$num_fields; $j++) {
$fields = mysql_fetch_field ($result, $j);
if ($w == $num_fields) { $virgule = ''; } else {$virgule = ',';}
$out .= '\'".$this->get_'.$fields->name.' ()."\''.$virgule.'<br>';
$w++;
}
$out .= ')";';
$out .= '<br>';
$out .= '$result = mysql_query ($query);';
$out .= '<br>';
$out .= 'if (!$result) { return false;}';
$out .= '<br>';
$out .= 'return $result;';
$out .= '<br>';
$out .= '}';
#Function Insert End ################################
#Function Select Start #################################
$out .= '<br>';
$out .= '<br>';
$out .= '# Function Select';
$out .= '<br>';
$out .= 'function '.$table_name.'_select () {'; // {:{ (:( ):)
$out .= '<br>';
$out .= '$query = "SELECT * FROM '.$table_name.'";';
$out .= '<br>';
$out .= '$result = mysql_query ($query);';
$out .= '<br>';
$out .= 'if (!$result) { return false;}';
$out .= '<br>';
$out .= 'return $result;';
$out .= '<br>';
$out .= '}';
#Function Select End #################################
#Function Fields Select Start #################################
$out .= '<br>';
$out .= '<br>';
$out .= '# Function Fields Select';
$out .= '<br>';
$out .= 'function '.$table_name.'_fields_select ($fieldName, $data) {'; // {:{ (:( ):)
$out .= '<br>';
$out .= '$query = "SELECT * FROM '.$table_name.' WHERE ".$fieldName." = \'".$data."\'";';
$out .= '<br>';
$out .= '$result = mysql_query ($query);';
$out .= '<br>';
$out .= 'if (!$result) { return false;}';
$out .= '<br>';
$out .= 'return $result;';
$out .= '<br>';
$out .= '}';
#Function Fields Select End #################################
#Function Update Start ###############################
$out .= '<br>';
$out .= '<br>';
$out .= '# Function Update';
$out .= '<br>';
$out .= 'function '.$table_name.'_update () {'; // {:{ (:( ):)
$out .= '<br>';
$out .= '$query = "UPDATE '.$table_name.' SET<br>';
$y = 1;
for ($j=0; $j<$num_fields; $j++) {
$fields = mysql_fetch_field ($result, $j);
if ($y == $num_fields) { $virgule = ''; } else {$virgule = ',';}
$out .= $fields->name.' = \'".$this->get_'.$fields->name.'( )."\''.$virgule.'<br>';
$y++;
}
$out .= '";';
$out .= '<br>';
$out .= '$result = mysql_query ($query);';
$out .= '<br>';
$out .= 'if (!$result) { return false;}';
$out .= '<br>';
$out .= 'return $result;';
$out .= '<br>';
$out .= '}';
#Function Update End ##################################
#Function Fields Update Start #############################
$out .= '<br>';
$out .= '<br>';
$out .= '# Function Fields Update';
$out .= '<br>';
$out .= 'function '.$table_name.'_fields_update ($fieldName, $data) {'; // {:{ (:( ):)
$out .= '<br>';
$out .= '$query = "UPDATE '.$table_name.' SET ".$fieldName." = \'".$data."\'";';
$out .= '<br>';
$out .= '$result = mysql_query ($query);';
$out .= '<br>';
$out .= 'if (!$result) { return false;}';
$out .= '<br>';
$out .= 'return $result;';
$out .= '<br>';
$out .= '}';
#Function Fields Update End ##############################
#Function Delete Start #################################
$out .= '<br>';
$out .= '<br>';
$out .= '# Function Delete';
$out .= '<br>';
$out .= 'function '.$table_name.'_delete () {'; // {:{ (:( ):)
$out .= '<br>';
$out .= '$query = "DELETE FROM '.$table_name.'";';
$out .= '<br>';
$out .= '$result = mysql_query ($query);';
$out .= '<br>';
$out .= 'if (!$result) { return false;}';
$out .= '<br>';
$out .= 'return $result;';
$out .= '<br>';
$out .= '}';
#Function Delete End #################################
#Function Fields Delete Start #################################
$out .= '<br>';
$out .= '<br>';
$out .= '# Function Fields Delete';
$out .= '<br>';
$out .= 'function '.$table_name.'_fields_delete ($fieldName, $data) {'; // {:{ (:( ):)
$out .= '<br>';
$out .= '$query = "DELETE FROM '.$table_name.' WHERE ".$fieldName." = \'".$data."\'";';
$out .= '<br>';
$out .= '$result = mysql_query ($query);';
$out .= '<br>';
$out .= 'if (!$result) { return false;}';
$out .= '<br>';
$out .= 'return $result;';
$out .= '<br>';
$out .= '}';
$out .= '<br>';
#Function Fields Delete End #################################
#Function Table Nb Records Start ##############################
$out .= '<br>';
$out .= '# Function Table Nb Records';
$out .= '<br>';
$out .= 'function '.$table_name.'_num_rows () {';
$out .= '<br>';
$out .= ' $result = $this->'.$table_name.'_select ();';
$out .= '<br>';
$out .= ' if (!$result) {';
$out .= '<br>';
$out .= ' $this->err_mysql () ;';
$out .= '<br>';
$out .= ' return false;';
$out .= '<br>';
$out .= ' }';
$out .= '<br>';
$out .= ' if (($rows = mysql_num_rows ($result)) < 0) {';
$out .= '<br>';
$out .= ' return false;';
$out .= '<br>';
$out .= ' }';
$out .= '<br>';
$out .= ' return $rows;';
$out .= '<br>';
$out .= '}';
$out .= '<br>';
#Function Table Nb Records End ###############################
# Function Table Loop Start #################################
$out .= '<br>';
$out .= '# Function Table Loop';
$out .= '<br>';
$out .= 'function '.$table_name.'_loop () {';
$out .= '<br>';
$out .= '$result = $this->'.$table_name.'_select ();';
$out .= '<br>';
$out .= 'if (!$result) {';
$out .= '<br>';
$out .= '$this->err_mysql () ;';
$out .= '<br>';
$out .= 'return false;';
$out .= '<br>';
$out .= '}';
$out .= '<br>';
$out .= '$rows = $this->'.$table_name.'_num_rows ();';
$out .= '<br>';
$out .= 'if ($rows > 0) {';
$out .= '<br>';
$out .= 'while ($obj = mysql_fetch_assoc ($result)) {';
$out .= '<br>';
$out .= '$tab_content [] = $obj;';
$out .= '<br>';
$out .= '}';
$out .= '<br>';
$out .= 'return $tab_content; ';
$out .= '<br>';
$out .= '}';
$out .= '<br>';
$out .= '}';
$out .= '<br>';
# Function Table Loop End ##################################
#Function Err MySQL Start #################################
$out .= '<br>';
$out .= '# Function Err MySQL';
$out .= '<br>';
$out .= 'function err_mysql () {';
$out .= '<br>';
$out .= ' print "Error : ".mysql_error(). " File : ".__FILE__;';
$out .= '<br>';
$out .= '}';
#Function Err MySQL End #################################
$out .= '<br>';
$out .= '}'; // }:}
$out .= '<br>';
$out .= '?>'; // ?:? // >:>
$out .= '<br>';
print $out;
} else {
print 'Nothing to display...';
}
mysql_free_result ($result);
}
}
/********************************
/ MySql Select
*********************************/
function MysqlSelect ($tablename, $idname='', $id='') {
if ($idname != '' AND $id != '') {
$this->query = 'SELECT * FROM '.$tablename.' WHERE '.$idname.' = "'.$id.'"';
} else {
$this->query = 'SELECT * FROM '.$tablename;
}
return ($this->query);
}
/********************************
/ MySql Query
*********************************/
function MysqlQuery () {
$this->result = @mysql_query ($this->query);
if (!$this->result) {
$this->MysqlErr('Vérifiez la requête : '.$this->query.'<br>');
return 0;
}
return ($this->result);
}
/********************************
/ Print message
*********************************/
function printMsg ($strMsg) {
print '<font style="font-family:arial, helvetica; font-size:12px; color:blue;">';
print $strMsg.'<hr>';
print '</font>';
}
/********************************
/ Close MySQL Server Connexion
*********************************/
function closeDb () {
if ($this->isConnected == TRUE) {
@mysql_close($this->idConnexion);
}
$this->isConnected = FALSE;
}
/********************************
/ MySQL Server Connexion Erreur
*********************************/
function MysqlConnexionErr () {
print '<font style="font-family:arial, helvetica; font-size:12px; color:red">';
print 'Unable to connect to the SERVER : <b>'.$this->getHost().'</b><br>';
print '</font>';
}
/********************************
/ MySQL Server Erreur
*********************************/
function MysqlErr ($msg) {
print '<font style="font-family:arial, helvetica; font-size:12px; color:red">';
print $msg.'<hr>';
print 'Erreur SQL : '.@mysql_error($this->idConnexion).'<br>';
print 'Erreur no SQL : '.@mysql_errno($this->idConnexion).'<br>';
print '</font>';
}
/********************************
/ Property SET
*********************************/
function setHost ($strHost='') {
if (empty($strHost)) {
$this->host = 'localhost';
} else {
$this->host = $strHost;
}
}
function setUser ($strUser='') {
$this->user = $strUser;
}
function setPassword ($strPass='') {
if (empty($strPass)) {
$this->password = '';
} else {
$this->password = $strPass;
}
}
function setDatabase ($strDbase='') {
if (empty($strDbase)) {
$this->database = 'mysql';
} else {
$this->database = $strDbase;
}
}
function setTable ($table='') {
if (isset($_REQUEST['table'])) {
$this->table = $table;
} else {
$this->table = '';
}
/*
if (empty($table)) {
$this->table = 'user';
} else {
$this->table = $table;
}
*/
}
/********************************
/ Property GET
*********************************/
function getHost () {
return $this->host;
}
function getUser () {
return $this->user;
}
function getPassword () {
return $this->password;
}
function getDatabase () {
return $this->database;
}
function getTable () {
return $this->table;
}
}
?>
Conclusion
// Pour le tester :: // Copiez et coller les lignes ci-dessous dans la même page que le code ci dessus. <? // Example $cnx = new MysqlConnect (); // Create New Class $cnx $cnx->setHost(); // Assign Host Name $cnx->setUser(); // Assign User Name $cnx->setPassword(''); // Assign Password $cnx->setDatabase($_GET['db']); // Assign DataBase Name $cnx->setTable($_GET['table']); // Assign Table Name $cnx->doConnect(); // Connexion... $cnx->MysqlListsDb (); // Output DataBase Lists $cnx->MysqlListsTable(); // Output Table Lists $cnx->MysqlListsFields (); $cnx->create_class ($_GET['table']); $cnx->closeDb(); // Close opened connexion ?>
Historique
- 02 mars 2005 14:01:23 :
- 04 mars 2005 14:44:35 :
- 04 mars 2005 14:58:13 :
Sources de la même categorie
Commentaires et avis
|
|