con = mysql_connect("dbserver", "dbuser", "dbpass")
or die ("Could not connect ");
//print ("Connected successfully ");
$this->db = "dbname";
mysql_select_db($this->db)
or die ("Could not select database ");
}
function query($sql){
return new dbResult(mysql_query($sql));
}
function listFields($tableName){
return new dbResult(mysql_list_fields($this->db,$tableName,$this->con));
}
function errStr(){
return mysql_error();
}
function firstRow($sql){
if ($rh = $this->query($sql)){
if ($temp = $rh->fetchHash()){
return $temp;
}
}
return "";
}
function firstOfFirst ($sql){
if ($rh = $this->query($sql)){
if ($temp = $rh->fetchArray()){
return $temp[0];
}
}
return "";
}
function columnArray($sql){
$ret = Array();
$result = $this->query($sql);
while ($item = $result->fetchArray()){
array_push($ret,$item[0]);
}
return $ret;
}
function lastID (){
return mysql_insert_id($this->con);
}
/*--------------------------------------
----mysql functions quick ref.
resource mysql_query($queryString)
resource mysql_list_fields($dbName, $tableName, $con)
array mysql_fetch_row($res)
array mysql_fetch_assoc($res)
object mysql_fetch_field($res)
int mysql_num_fields($res)
string mysql_field_name($res,$fieldNum)
string mysql_field_type($res,$fieldNum)
*/
}
class dbResult {
var $res;
function dbResult ($res){
$this->res = $res;
}
function fetchArray(){
//returns array
return mysql_fetch_row($this->res);
}
function fetchHash(){
//returns associative array
return mysql_fetch_assoc($this->res);
}
function fetchField(){
//returns unwrapped field object
//but see the meta class.
return mysql_fetch_field($this->res);
}
function numFields(){
//returns int
return mysql_num_fields($this->res);
}
function fieldName($fieldNum){
//returns string
return mysql_field_name($this->res,$fieldNum);
}
function fieldType($fieldNum){
//returns string type (int, real,etc)
return mysql_field_type($this->res,$fieldNum);
}
}
//how to extract data from form?
function tableFromForm($tableName){
global $db;
$meta = new metaData($tableName);
$fields = $meta->fieldList();
foreach ($fields as $field){
$ret[$field] = $GLOBALS[$field];
}
return $ret;
}
function dbForm($result){
//could be called with info from a database
//or just a table name (for an empty form)
//if $result is a table name, get a table info list
if (is_string($result)){
global $db;
$result = $db->listFields($result);
$data = array();
}
else {
$data = $result->fetchArray();
}
$columns = $result->numFields();
for ($i = 0; $i < $columns; $i++) {
$name = $result->fieldName($i);
if (preg_match("/ID$/",$name)){
print '' . "\n\n\n";
}
else {
print $name . ':
' . "\n\n\n";
}
}
}
function makeOptions($sql,$valueField,$displayField,$selectedValue){
$db = new myDb();
$rs = $db->query($sql);
while ($row = $rs->fetchHash()){
$ret .= '