2015-01-06 2 views
1

현재 Hybrid App CMS를 개발 중이고 CMS의 요소 중 하나는 사용 사례를 선택할 때 티클 박스를 사용하는 것입니다. (크롬에서만 발생합니다) 여러 개의 티크 박스를 클릭하여 사용 사례를 선택하고 다른 페이지로 이동하거나 검색 결과를 필터링하고 검색 결과를 필터링하지 않으면 내가 선택한 틱이 더 이상 존재하지 않습니다 . 내가 선택한 경우가 페이지에 저장되어 있도록 데이터가 캐시되기를 원합니다. 나는 PHP로 CMS 전체를 코딩하고있다. PHP Tickbox 캐싱 데이터

는 가

// 출력 각 이벤트 (여과 제외) 및 행

$row_count = 0; 

    foreach($this->usecases as $usecase) { 
    if ($this->apply_filters($usecase)) { 

     $row_count += 1; 

     if ($usecase["USECASE_ACTIVE"]) { 

     $active_class = " class='event-active'"; 
     $active_checkbox = <<<EOF 
      <span class="glyphicon glyphicon-play" aria-hidden="true"></span> 

EOF 추적 틱 박스

에 관한 부호의 부분이고;

 } else { 

     $active_class = ""; 
     $active_checkbox = sprintf($checkbox_template, $usecase["USECASE_ID"]); 

     } 

     echo sprintf(
     $row_template, 
     $active_class, $active_checkbox, 
     $usecase["USECASE_NAME"], $usecase["USECASE_CATEGORIES"], $usecase["USECASE_ID"] 
    ); 

    } 
    } 
+0

어쩌면 세션 또는 쿠키를 사용하여 캐시 할 수 있습니까? – onegun

+0

이것을 PHP로 구현하는 방법을 알고 계십니까? – JoeRushbrooke

+0

일부 세부 코드를 게시하면 도움이 될 수도 있습니다 – onegun

답변

0

나는 큰 팬이다. 이 라인을 따라 뭔가를 시도해보십시오 ...

<?php 
require 'vendor/autoload.php'; 
$cache = new \Doctrine\Common\Cache\ApcCache(); //use APC as the driver 
$fruits = $cache->fetch('fruits'); //fetch the data from the cache 

if($fruits == null){ 
    $fruits = array('apple', 'orange', 'grapes', 'coconut', 'papaya'); 
    $cache->save('fruits', $fruits); //save data into the cache 
} 

//do something with $fruits 
?> 
0

죄송합니다, 단지 온라인으로 해주세요. 아니요. 코드를 실제로 이해할 수는 없지만 질문에 대한 내 이해를 바탕으로 아이디어를 확장하십시오. test.php에 대한 예제를 확인하십시오

<?php 
session_start(); 
if(isset($_POST['action'])&&$_POST['action']=='checkBox') 
{ 
    $_SESSION['number']=$_POST['checkedVal']; 
    exit; 
} 
?> 
<form> 
<fieldset> 
    <?php 
     $vals=['1','2','3']; 
     foreach($vals as $val) 
     { 
      $checked=""; 

      if(isset($_SESSION['number'])&&in_array($val,$_SESSION['number'])) 
      { 
       $checked="checked"; 
      } 
      echo "<input type=\"checkbox\" name=\"number[]\" value=\"$val\" $checked />$val"; 
     } 
    ?> 
</fieldset> 
</form> 
<a href="test.php">Go another page</a> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
<script> 
$(function(){ 
    $("input[name='number[]']").change(function() { 
     var checked=new Array(); 
     $.each($("input[name='number[]']:checked"), function() { 
      checked.push($(this).val()); 
     }); 
     $.post("test.php", { action: "checkBox", checkedVal: checked }); 
    }); 
}); 
</script>