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