2015-01-06 3 views
1

В настоящее время я разрабатываю CMS для гибридных приложений, и одним из элементов моей CMS является использование тикбоксов при выборе вариантов использования. (Это происходит только в хроме). Я нажимаю на несколько тикбоксов, чтобы выбрать кучу вариантов использования, а затем, когда я ухожу на другую страницу или даже фильтрую результат поиска, и неэффективен результат поиска, тики, которые я выбрал, больше не существуют , Я хочу, чтобы данные были кэшированы, чтобы выбранные мной случаи оставались сохраненными на странице. Я кодирую всю CMS в PHP.Данные кэширования 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

ли вы знаете, как implment это в 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> 
Смежные вопросы