欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP写缓存_PHP教程

程序员文章站 2022-06-01 10:17:52
...
//写入缓存
$menu_query = exequery( $connection, " SELECT ct.id as tid, ct.type_name , mb.id, mb.cookname,
mb.price, mb.description, mb.pinyin FROM cook_type ct LEFT JOIN menubook mb ON ct.id = mb.cook_type WHERE
mb.id = ".$cook_id);
$menu_result = mysql_fetch_array( $menu_query );

//echo "菜单id:".$cook_id.";分类id:".$menu_result[tid];exit;
//本次菜单
$row[mid] = $cook_id;
$row[menu_name] = $cook_name;
$row[description] = $description;
$row[menu_price] = $cook_price;
$row[pinyin] = ChangeToPinyin(iconv("utf-8","gb2312",$cook_name),1);

if( file_exists( "./menubook.php") )
{
require_once( "./menubook.php" );
}


if( is_array( $menu_cache) && !empty( $menu_cache) )
{
$classnum = count( $menu_cache );
$unmatchnum = 0;
for ( $i=0; $i {
if( $menu_result[tid] != $menu_cache[$i][tid] )
{
$unmatchnum++;
continue;
}
else //找到分类 , 继续寻找菜品的缓存是否存在
{
$cartenum = count( $menu_cache[$i][list]);
$unmarrynum = 0;
for ( $j=0; $j {
if ( $menu_cache[$i][list][$j][mid] != $cook_id )
{
$unmarrynum++;
continue;
}
else //修改菜单
{
$menu_cache[$i][list][$j][menu_name] = $cook_name;
$menu_cache[$i][list][$j][description] = $description;
$menu_cache[$i][list][$j][menu_price] = $cook_price;
$menu_cache[$i][list][$j][pinyin] = $row[pinyin];
}
}

//新添加的菜单
if( $cartenum == $unmarrynum )
{
$menu_cache[$i][list][] = $row;
}
}
}

//未找到分类
if ( $unmatchnum == $classnum )
{
$type_row[tid] = $menu_result[tid];
$type_row[type_name] = $menu_result[type_name];
$type_row[list][0] = $row;

$menu_cache[] = $type_row;

}
}
else { //数组的生成
$type_row[tid] = $menu_result[tid];
$type_row[type_name] = $menu_result[type_name];
$type_row[list][0] = $row;

$menu_cache[] = $type_row;

}
//print_r( $menu_cache );
//写入文件
ob_start();
var_export( $menu_cache );
$content = ob_get_contents( );
ob_end_clean();

$filename = "menubook.php";
$fp = fopen( $filename, "w" );
fwrite( $fp, "" );
fclose( $fp );

二、添加菜单,写入缓存

$str=ChangeToPinyin(iconv("utf-8","gb2312",$cook_name),1);
$query_cook_add="insert into menubook(cookname,price,cook_type,description,pinyin) values(".$cook_name.",".$cook_price.",".$cook_type.",".$description.",".$str.")";
$cursor_cook_add=exequery($connection,$query_cook_add);
$cook_id = mysql_insert_id();

$menutype_query = exequery( $connection, " SELECT type_name FROM cook_type WHERE id = ".$cook_type);
$menutype_result = mysql_fetch_array( $menutype_query );


//本次菜单
$row[mid] = $cook_id;
$row[menu_name] = $cook_name;
$row[description] = $description;
$row[menu_price] = $cook_price;
$row[pinyin] = $str;

if( file_exists( "./menubook.php") )
{
require_once( "./menubook.php" );
}

if( is_array( $menu_cache) && !empty( $menu_cache) )
{
$classnum = count( $menu_cache );
$unmatchnum = 0;
for ( $i=0; $i {
if( $cook_type != $menu_cache[$i][tid] )
{
$unmatchnum++;
continue;
}
else //找到分类 ,添加改产品菜品的缓存
{
$menu_cache[$i][list][] = $row;
}

}
if( $classnum == $unmatchnum ) //未找到分类
{
$type_row[tid] = $cook_type;
$type_row[type_name] = $menutype_result[type_name];
$type_row[list][0] = $row;

$menu_cache[] = $type_row;

}
}

else { //数组的生成
$type_row[tid] = $cook_type ;
$type_row[type_name] = $menutype_result[type_name];
$type_row[list][0] = $row;

$menu_c

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/486517.htmlTechArticle//写入缓存 $menu_query = exequery( $connection, SELECT ct.id as tid, ct.type_name , mb.id, mb.cookname, mb.price, mb.description, mb.pinyin FROM cook_type ct LEFT JOIN menubook...