私は1つのアクションを持っており、それはajaxを介して2つの異なる方法で呼び出しているため、mysqlクエリをzendレジストリに保存します。クエリをzendレジストリ(ZF)に格納する方法
1 = Javaスクリプトイベントが発生したとき。つまり、
上記のコードは、要素から値をとり、自分のアクションを呼び出してクエリを実行します。 この作品はきれいです
2 =(私のアクションではページをめくってください)ページネーションリンクのクリック。 私は確かに、同じアクションを呼び出すと、私は最初にこの
$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);
}
}
ようにそれを私のコードを変更して、そのためにエラーを与えるように、そのは、AJAX呼び出して、私はそれをpasssed値を得ていない任意のページネーションをクリックすると、問題はここにあります最初のIF文には来ないので、レジストリに私のクエリを保存しています。ページネーションリンクがクリックされると、4つの変数が設定されません。最初のIF文は実行されるので、レジストリに格納された内容を取得します。 しかし、その場合には、その私に
Message: No entry is registered for key 'select'
任意の1であるエラーを与えて、私は
、お役に立てば幸いですが、そのが、それは執拗にする方法を.isをしていないので、期限切れに? –
Zend_SessionのrememberMe()メソッドで少し再生し、後で期限切れにすることができます。詳細はこちら:http://framework.zend.com/manual/en/zend.session.global_session_management.html – dinopmi