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

Reply via email to