当前位置:编程学习 > php >>

PHP写缓存

//写入缓存
   $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<$classnum; $i++ )
    {
     if( $menu_result[tid] != $menu_cache[$i][tid] )
     {
      $unmatchnum++;
      continue;
     }
     else //找到分类 , 继续寻找菜品的缓存是否存在
     {
      $cartenum = count( $menu_cache[$i][list]);
      $unmarrynum = 0;
      for ( $j=0; $j<$cartenum; $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, "<?php $menu_cache = $content ?>" );
   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<$classnum; $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

补充:Web开发 , php ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,