1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
class DB
{
...
function fetch()
{
if ($this->dbFetch == 'array')
return mysql_fetch_array($this->dbResult, MYSQL_ASSOC);
else
return mysql_fetch_object($this->dbResult);
}
function fill()
{
$object = $this->fetch();
$numfields = mysql_num_fields($this->dbResult);
// on récupère les noms des champs de la table
for ($i = 0; $i < $numfields; $i++)
$fieldname[$i] = mysql_field_name($this->dbResult, $i);
for ($i = 0; $i < $numfields; $i++)
$this->$fieldname[$i] = $object->$fieldname[$i]; // prob ?
}
...
}
class Account extends DB
{
var $uid;
var $login;
var $mail;
var $pass;
var $country;
var $city;
var $lastseen;
var $ip;
var $query;
function Account($uid = 0)
{
$this->{get_parent_class($this)}();
if ($uid) $this->load($uid);
}
function load($uid)
{
$this->query = sprintf('SELECT * FROM '.TBL_ACCOUNT.' WHERE uid=`%s`',
$this->clean($uid));
$this->fill();
}
}
CREATE TABLE account (
uid int(11) NOT NULL default '0',
login varchar(15) NOT NULL default '',
mail varchar(128) NOT NULL default '',
pass varchar(32) NOT NULL default '',
country varchar(32) NOT NULL default '',
city varchar(32) NOT NULL default '',
lastseen datetime NOT NULL default '0000-00-00 00:00:00',
ip tinyint(20) NOT NULL default '0',
PRIMARY KEY (uid)
) TYPE=MyISAM;
$account = new Account(0);
echo $account->login.' from '.$account->country; |
Partager