En mi proyecto tengo una carga de llamadas de controlador y tiene una función de búsqueda de llamadas () que tiene un formulario, quiero enviar este formulario en una función secundaria de búsqueda () como esta ,,

localhost/ci/index.php/load/search

Para

localhost/ci/index.php/load/search/something/

¿Cómo puedo hacer esto después de enviar un formulario?

Este es mi controlador como

class Load extends CI_Controller {
    function search() {
        $this->load->view('search');
    }
    function something() {
        $this->load->view('something');
    }
}
-1
aziz 7 mar. 2018 a las 06:48

3 respuestas

La mejor respuesta

Esta no es una función secundaria something()

Puede definir rutas según sus requisitos.

Después de la llamada a la función de búsqueda, puede usar el método redirect(), que lo redirigirá a su route como 'base_url / controller / search / searchresult /'.

Routes.php

$route['Load/search/searchresult'] = 'Load/something';

Código del controlador de carga:

class Load extends CI_Controller {
   function search() {
       $this->load->view('search');

       // after form submission
       redirect('Load/search/searchresult');
   }
   function something() {
      $this->load->view('something');
   }    
}
3
Mayank Majithya 7 mar. 2018 a las 04:26

Para mayor claridad: localhost/ci/index.php/load/search/something/ hace esto ...

Ingresa al método search() de Load y proporciona something como parámetro, p. search($param = 'something') (esta no es la sintaxis correcta sino solo para mostrar).

function search($term = null) {

    if (is_null($term)) {
        // user hasn't searched
    } else {
        // user searched for $term e.g. something   
    }

}

La única forma en que puede lograr lo que desea es usar lo anterior de alguna manera para su ventaja sabiendo que /something tendrá que ser el parámetro de búsqueda. O puede usar el enrutamiento como sugirió otro respondedor.

0
Alex 7 mar. 2018 a las 05:19

Esta no es una función secundaria de la función de búsqueda, por lo que puede llamarla como localhost/ci/index.php/load/something / Agregue esta URL a su acción de formulario y su formulario se enviará a la función something()

0
Pavan Sikarwar 7 mar. 2018 a las 04:06