I havent tested this yet, it seems it may be more harmful than good ?
if ($cache_data) { $query = $db->query("SELECT cache_data FROM cache_menu_table WHERE table='foo'"); if ($db->results()) { $query = "SELECT cache_data FROM cache_menu_table WHERE table='foo'"; } else { $db->query("SELECT SQL_NO_CACHE asset_typeID,asset_type FROM asset_types ORDER BY asset_type ASC"); while ($row = $db->fetchArray($query)) { $arr[$row[0]] = $row[1]; } $insertID = $db->insert("INSERT INTO cache_menu_table (cache_data,table) VALUES ('".serialize ($arr)."','asset_types')"); $query = "SELECT cache_data FROM cache_menu_table WHERE cacheID IN (".$insertID.")"; } } else { $query = "SELECT SQL_NO_CACHE asset_typeID,asset_type FROM asset_types ORDER BY asset_type ASC"; } then here is my get_menu function in my db class function get_menu2($menuname, $query, $extra = null, $size = null, $select = null, $option = null, $cache = NO_CACHE) { //global $db; $size ? $size = "multiple $size" : $size = ""; $buffer .= '<select name="'.$menuname.'" '.$size.' '.$extra.'>'; if ($option) { $arr = split(":",$option); $buffer .= "\n\t\t\t\t\t\t\t\t\t".'<option value="'.$arr[0].'">'.$arr[1].'</option>'; } else { $buffer .= "\n\t\t\t\t\t\t\t\t\t".'<option></option>'; } switch ($cache) { case 'NO_CACHE': $result = $this->query($query); while ($row = $this->fetchArray($result)) { $select==$row[0] ? $selected = "selected" : $selected = ""; $buffer .= "\n\t\t\t\t\t\t\t\t\t".'<option value="'.$row [0].'" '.$selected.'>'.$row[1].'</option>'; } break; case 'CACHE': $row = $this->getOne ($query,FETCHMODE_ARRAY); $arr = unserialize($row[0]); foreach ($arr as $key=>$value) { $select==$key ? $selected = "selected" : $selected = ""; $buffer .= "\n\t\t\t\t\t\t\t\t\t".'<option value="'.$key.'" '.$selected.'>'.$value.'</option>'; } break; } $this->free(); $buffer .= "\n\t\t\t\t\t\t\t\t".'</select>'; return $buffer; } -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php