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 .= '