
Hola, llevo un buen tiempo tratando de resolver esto, pero no acabo de dar con el asunto, lo que quiero es poder paginar los resultados de una búsqueda que hago en la base de datos, y después de varios intentos, al fin no me da errores lo que tengo, pero tampoco me hace el paginado. Les muestro mi código.
Modelo users_query.php
Código PHP:
Ver original
<?php class Users_query extends Model{ function Users_query() { parent::Model(); } // Buscar Usuarios function users_query_search() { $limit = 0; // numero del paginado -> /cpanel/users/index/10 if($this->uri->segment(4)) { // valor inicial $limit = 10 $limit = $this->uri->segment(4); } $this->db->limit($limit); $search_user = $this->input->post('buscar'); $this->db->where("MATCH(usuario_nombre, usuario_email, usuario_login) AGAINST('$search_user' IN BOOLEAN MODE)", NULL, FALSE); return $this->db->get('gd_usuarios', 10, $limit); // $results = $this->db->count_all_results(); } function users_query_search_count() { $num = 5; return $num; // return users_query_search($results); } } ?>
El controlador users_search.php
Código PHP:
Ver original
<?php class Users_search extends Controller{ function __construct() { parent::Controller(); } function index() { // Cargamos el modelo que sirve la vista // que muestra los usuarios $this->load->model('/cpanel/Users_query'); $config_pagination['base_url'] = base_url().'/cpanel/users_search/index'; $config_pagination['total_rows'] = $this->Users_query->users_query_search_count(); $config_pagination['num_links'] = '3'; $config_pagination['uri_segment'] = '4'; $this->pagination->initialize($config_pagination); $users_to_show['users_query_search'] = $this->Users_query->users_query_search($config_pagination); $this->load->view('/cpanel/users_search', $users_to_show); } } ?>
Y la vista users_search.php
Código PHP:
Ver original
<?php if($users_query_search->num_rows() > 0) { ?> <div class="msg">Su búsqueda para <strong>"<?php echo $this->input->post('buscar'); ?>"</strong> arrojó <strong><?php echo $users_query_search->num_rows(); ?></strong> resultados</div> <?php 'ID', 'Nombre de Usuario', 'Correo Electrónico', 'Nombre de Login', 'Nivel de Acceso', 'Editar', 'Eliminar')); foreach($users_query_search->result_array() as $users_row): $users_row['usuario_ID'], $users_row['usuario_nombre'], mailto($users_row['usuario_email'], $users_row['usuario_email']), $users_row['usuario_login'], $users_row['usuario_roll'], anchor('/cpanel/users_edit/index/'.$users_row['usuario_ID'], 'Editar'), anchor('/cpanel/users_delete/index/'.$users_row['usuario_ID'], 'Eliminar'))); endforeach; echo $this->table->generate(); echo $this->pagination->create_links(); } else { ?> <div class="msg">Su búsqueda para <strong>"<?php echo $this->input->post('buscar'); ?>"</strong> arrojó <strong><?php echo $users_query_search->num_rows(); ?></strong> resultados</div> <?php } ?>
Entonces, tengo varias dudas:
1. ¿Por qué no me hace el paginado?
2. En el modelo, tengo dos funciones, una para la consulta y la otra para el número de resultados, esto lo intenté hacer desde una sola función, pero siempre me daba error, esto es asunto de codear puro php, pero me declaro coder sato

2.1 ¿Cómo hago para llamar una variable que debería tener en la función users_query_search() desde users_query_search_count(), fíjense en el código las lineas comentariadas, nuevamente me declaro coder sato?
3. En el controlador, en el valor de la variable $config_pagination['total_rows'] le he puesto = '5', ahí, al duro y no hace lo que se espera.
Espero puedan ayudarme a ir resolviendo esto... Gracias mil de antemano
Saludos
[/
