当前位置导航:炫浪网>>网络学院>>网页制作>>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 \r\n \$menu_cache = $content \r\n ?>" );
   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_cache[] = $type_row;
    
   }
  
   ob_start();
   var_export( $menu_cache );
   $content = ob_get_contents( );
   ob_end_clean();
  
   $filename = "menubook.php";
   $fp = fopen( $filename, "w" );
   fwrite( $fp, "<?php \r\n \$menu_cache = $content \r\n ?>" );
   fclose( $fp );

相关内容
赞助商链接