Я хочу сохранить MySQL запрос в реестре Zend, потому что у меня есть одно действие, и это вызов через ajax, но двумя различными способами.
1 = когда происходит событие java-скрипта. то есть
$("#show_history_call_logs").click(function(){
var pass = true;
var start_date = $("#start_date").val();
var end_date = $("#end_date").val();
var page_to_get = $('input[name=hidden]').val();
//some validation
if(pass == true){
var href= "http://localhost/abc/xyz/index.php/login/"+page_to_get+"/";
var data ='start_date=' + start_date + '&end_date=' + end_date + '&option_call_log=' + option_call_log + '&option_call_log_asc_desc=' + option_call_log_asc_desc;
$.ajax({ type: "GET",
url: href,
data: data,
success: function(response){
$('#paged-data-container').html(response);
}
});
return false;
}
приведенный выше код принимает значения от элементов, вызывающих мои действия и выполняющих запросы в соответствии.
эта работа отлично
2 = когда (zend paginator in my action) ссылки на страницы разбиваются.
проблема здесь, когда я нажимаю на любую нумерацию страниц, так что, конечно, он вызывает то же действие и не получает значения, которые я пропустил через вызов ajax, так что это дает ошибку для этого, я изменил свой код следующим образом
$registry = Zend_Registry::getInstance();
$start_date = $this->_getParam('start_date');
$end_date = $this->_getParam('end_date');
$option_call_log = $this->_getParam('option_call_log');
$option_call_log_asc_desc = $this->_getParam('option_call_log_asc_desc');
if(empty($start_date) && empty($end_date) && empty($option_call_log) && empty($option_call_log_asc_desc)){
//$select = $registry->get('select');
$select = Zend_Registry::get('select');
}
else{
if(empty($end_date) || $end_date == ""){
$select = $DB->select()
->from('CALL_LOG', array('caller_name','call_number','call_start_time','call_duration','call_direction'))
->where('phone_service_id = ?', $phone_service_id)
->where("date_created >= ?", $start_date_formatted)
->order("".$option_call_log." ".$option_call_log_asc_desc);
Zend_Registry::set('select',$select);
}
else{
$select = $DB->select()
->from('CALL_LOG', array('caller_name','call_number','call_start_time','call_duration','call_direction'))
->where('phone_service_id = ?', $phone_service_id)
->where("date_created >= ?", $start_date_formatted)
->where("date_created <= ?", $end_date_formatted)
->order("".$option_call_log." ".$option_call_log_asc_desc);
Zend_Registry::set('select',$select);
}
}
во-первых, это не будет первым оператором IF, поэтому я сохраняю свой запрос в реестре, и когда щелкают ссылки на страницы, чтобы не задать мои 4 переменные, и первый оператор IF будет выполнен, так что я получу то, что сохранил в реестре ,
но в этом случае это дает мне ошибку, которая
Message: No entry is registered for key 'select'
любой 1, пожалуйста, помогите мне