public function changeorderAction() { $index = $_GET["index"]; $column = $_GET["column"]; $order = $_GET["order"]; $previous_search = $_GET["previous_search"]; $dba = Zend_Registry::get('dba'); $this->_helper->layout->disableLayout(true); $this->_helper->viewRenderer->setNoRender(true); $membres = new Application_Model_Membre($dba); if ($previous_search == "") { $select = $membres->select()->where("ACTIVE_M = ?", 1)->order("{$column} {$order}")->limit($this->_item_per_page, $this->_item_per_page * ($index - 1)); $select2 = $membres->select()->where("ACTIVE_M = ?", 1); } else { $select = $membres->select()->where("ACTIVE_M = ?", 1)->where("PRENOM LIKE '%" . $previous_search . "%' OR NOM_M LIKE '%" . $previous_search . "%'" . " OR LOGIN LIKE '%" . $previous_search . "%' OR ROLE LIKE '%" . $previous_search . "%'" . " OR PROMO LIKE '%" . $previous_search . "%' OR MAIL LIKE '%" . $previous_search . "%'" . " OR ECOLE LIKE '%" . $previous_search . "%'")->order("{$column} {$order}")->limit($this->_item_per_page, $this->_item_per_page * ($index - 1)); $select2 = $membres->select()->where("ACTIVE_M = ?", 1)->where("PRENOM LIKE '%" . $previous_search . "%' OR NOM_M LIKE '%" . $previous_search . "%'" . " OR LOGIN LIKE '%" . $previous_search . "%' OR ROLE LIKE '%" . $previous_search . "%'" . " OR PROMO LIKE '%" . $previous_search . "%' OR MAIL LIKE '%" . $previous_search . "%'" . " OR ECOLE LIKE '%" . $previous_search . "%'"); } $membres_results = $membres->fetchAll($select)->toArray(); $indexes = ceil(count($membres->fetchAll($select2)->toArray()) / $this->_item_per_page); $membres_result = array(); for ($i = 0; $i < count($membres_results); $i++) { $membres_result[$i] = array("ID_MEMBRE" => $membres_results[$i]["ID_MEMBRE"], "NOM_M" => $membres_results[$i]["NOM_M"], "PRENOM" => $membres_results[$i]["PRENOM"], "ROLE" => $membres_results[$i]["ROLE"], "LOGIN" => $membres_results[$i]["LOGIN"]); } $result = array("INDEXES" => $indexes, "MEMBRES" => $membres_result); $json = json_encode($result); echo $json; }