Databases
|
|
|
|
<b>description</b>
-----------
In my code, every result row is converted to its own object for easier access. These object members need proper names, so I wrote myself a small base class, which automates the task of assigning an array's content to a object.
This class extends your own class by 2 special functions and 1 (2) special array:
<b>functions</b>
---------
1.
helper__SetMembers ($fields)
Toss in an associated arrayas as an argument,
like mysql_fetch_assoc would return (*hint*
*hint*), and it converts its key/value pairs to their
assigned member names/values.
2.
helper__ReturnFields ()
Spits out an associated array, like
mysql_fetch_array would do (*hint* *hint*).
<b>arrays</b>
------
1.
helper__array
This array HAS to be set either in your class or
in your class's constructor. It has to follow
this format:
key = field name of a row
value = a member variable name of this class
i.e.:
Array
(
[client_id] => mId
[client_username] => mUsername
[client_password] => mPassword
)
2.
helper_rev_array
This array is created for the reverse look-up
of the key/value pairs. Do NOT TOUCH! ;)
<b>code</b>
----
<?php
/* {FILE} */
/* description (s): mysql/database helper class v1.0 */
/* {AUTHOR} */
/* Christopher Eineke */
class DBRowHelper { /*{variables}*/
var $helper__array;
var $helper__rev_array;
/*{constructor}*/
function MysqlHelper ()
{
$this->helper__array = array ( );
$this->helper__rev_array = array ( );
}
/*{functions}*/
function helper__SetMembers ($fields)
{ $variable_name = "";
foreach ($fields as $field_name => $field_value)
{
$member_name = $this->helper__array["$field_name"]; // get associated member variable name
$this->$member_name = $field_value; // save data
}
}
function helper__ReturnFields ()
{ $ret_Array = array ( );
foreach ($this->helper__array as $key => $value) // we have to reverse key/value order here
$this->helper__rev_array["$value"] = $key; // so we can find the associated field name
foreach ($this->helper__rev_array as $member_name => $field_name)
{
$field_name = $this->helper__rev_array["$member_name"]; // get associated field name
echo $field_name;
$ret_Array["$field_name"] = $this->$member_name;
}
return $ret_Array;
}
}
?>
|
|
|
Usage Example
|
<?php
class CUser extends DBRowHelper { /*{variables}*/
var $mId;
var $mUsername;
var $mPassword;
/*{constructor}*/
function CUser ()
{
$this->mId = 0;
$this->mUsername = "";
$this->mPassword = "";
$this->helper__array = array ("user_id" => "mId",
"user_username" => "mUsername",
"user_password" => "mPassword",
);
}
}
//faking a mysql_fetch_array ;) $a["user_id"] = "1"; $a["user_username"] = "sledge"; $a["user_password"] = "hammer";
$user__helped = new CUser; $user__helped->helper__SetMembers ($a); $b = $user__helped->helper__ReturnFields (); print_r ($user__helped); print_r ($b);
?>
|
|
|
Rate This Script
|
|
|
|