Heim > php教程 > php手册 > PHP写缓存

PHP写缓存

WBOY
Freigeben: 2016-06-13 10:36:36
Original
805 Leute haben es durchsucht

//写入缓存
   $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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage