dbh =& $dbh; $this->table = $table; $res = $this->dbh->query("show columns from $table"); while (list($name,$ftype,,$key,$value,$extra) = mysql_fetch_row($res)) { if (!preg_match("/^([a-z]+)(\(([^\)]*)\))?( [a-z]+)?$/",$ftype,$matches)) die("could not parse $ftype"); $dtype = $matches[1]; switch($dtype) { case "set": case "enum": $type = "set"; break; case "timestamp": case "datetime": $type = "timestamp"; break; default: $type="text"; } $this->vars[$name] = array("table" => $this->table, "field" => $name, "type" => $type, "value" => $value, "desc" => $name, "sum" => false, "key" => $key, "extra" => $extra, "edit" => true, "show" => true); } mysql_free_result($res); } } ?>