Php 加载控制器codeigniter时如何保存信息?

Php 加载控制器codeigniter时如何保存信息?,php,codeigniter,Php,Codeigniter,我在做一个代码点火器的项目。我需要选择学生和帐户的其中一个视图。学生和帐户处于不同的视图和控制器中。我成功地选择了学生,我用学生信息填充了一些字段,但是我想选择帐户,它填充了帐户的字段,但是学生的信息消失了 以下是我正在研究的观点: <?php /*******Information for the student ********/ $parametroExpediente = ""; $parametroNombre = ""; $parametroP

我在做一个代码点火器的项目。我需要选择学生和帐户的其中一个视图。学生和帐户处于不同的视图和控制器中。我成功地选择了学生,我用学生信息填充了一些字段,但是我想选择帐户,它填充了帐户的字段,但是学生的信息消失了

以下是我正在研究的观点:

<?php

    /*******Information for the student ********/
    $parametroExpediente = "";
    $parametroNombre = "";
    $parametroPrimerApellido = "";
    $parametroSegundoApellido = "";
    $parametroCedula = "";


    if (isset($expediente))
    {
        $parametroExpediente = set_value('expediente', $expediente);
        $parametroNombre = set_value('nombre', $nombre);
        $parametroPrimerApellido = set_value('primerApellido', $primerApellido);
        $parametroSegundoApellido = set_value('segundoApellido', $segundoApellido);
        $parametroCedula = set_value('cedula', $cedula);
    }
    /************************************/

    /*******Information for the account********/
    $parametroIDPlan = "";
    $parametroDescripcionPlan = "";
    $parametroTotalAPagarPlan = "";
    $parametroCuantosPagosPlan = "";
    $parametroFrecuenciaPagoPlan = "";
    $parametroAcivoPlan = "";
    $parametroIDCursoPlan = "";
    $parametroMultiGrupoPlan = "";

    if (isset($idPlan))
    {
        $parametroIDPlan = set_value('idPlan', $idPlan);
        $parametroDescripcionPlan = set_value('descripcion', $descripcion);
        $parametroTotalAPagarPlan = set_value('totalApagar', $totalApagar);
        $parametroCuantosPagosPlan = set_value('cuantosPagos', $cuantosPagos);
        $parametroFrecuenciaPagoPlan = set_value('cadaCuantosDiasPaga', $cadaCuantosDiasPaga);
        $parametroAcivoPlan = set_value('activo', $activo);
        $parametroIDCursoPlan = set_value('idCurso', $idCurso);
        $parametroMultiGrupoPlan = set_value('multiGrupo', $multiGrupo);    
    }
    /************************************/
?>

<!--BUTTON TO SELECT A STUDENT -->
<a href="http://localhost/ProyectoNetbeans/CodeIgniter_2.1.3/index.php/Alumnos_controller/loadAlumnoView/seleccionarParaCuenta" class="btn btn-primary">Seleccionar alumno</a>
<span class="badge badge-info">Expediente: <?php echo $parametroExpediente ?></span>
<!---------------------------------->
<br/>
<br/>
<br/>

<!--BUTTON TO SELECT AN ACCOUNT -->
<a href="http://localhost/ProyectoNetbeans/CodeIgniter_2.1.3/index.php/PlanDePago_controller/loadPlanDePagoView/seleccionarParaCuenta/" class="btn btn-primary">Seleccionar plan de pago</a>
<span class="badge badge-info">Plan escogido: <?php echo $parametroDescripcionPlan ?></span>

权宜之计:



计划escogido:

选择学生和帐户后,他们都将其信息重定向到同一控制器,如下所示:

<?php
class Cuentas_controller extends CI_Controller {

   public $data = array();

   public function __construct()
   {
        parent::__construct();
        // Your own constructor code

        $this->load->helper('url');

        $this->load->helper('form');

        $this->load->helper('url');

        $this->load->model('Alumnos_model');
        $this->load->model('PlanDePago_model');

    }

   function index()
   {
        $this->load->view('cuentas_view');
   }

   /*Take the information for the student*/
   function setStudent($elExpediente)
   {
       $query = $this->Alumnos_model->getAllData($elExpediente);
       foreach ($query->result_array() as $row)
       {
           $this->data = array(
                //'expediente' => $row['expediente'],
                'expediente' => $elExpediente,
                'primerApellido' => $row['primerApellido'],
                'segundoApellido' => $row['segundoApellido'],
                'nombre' => $row['nombre'],
                'cedula' => $row['cedula']
            );
       }
       $this->load->view('cuentas_view',$this->data);
   }

   /*Take the information for the account*/
   function setAccount($id)
   {           
       $query = $this->PlanDePago_model->getAllDataNoParameters($id);
       foreach ($query->result_array() as $row)
       {
           $this->data = array(
                'idPlan' => $id,
                'totalApagar' => $row['totalApagar'],
                'descripcion' => $row['descripcion'],
                'cuantosPagos' => $row['cuantosPagos'],
                'cadaCuantosDiasPaga' => $row['cadaCuantosDiasPaga'],
                'activo' => $row['activo'],
                'idCurso' => $row['idCurso'],
                'multiGrupo' => $row['multiGrupo']
            );
       }
       $this->load->view('cuentas_view',$this->data);
   }
}

如您所见,setStudent和setAccount方法获取这些视图发送的信息,然后打开我正在处理的视图并填充一些信息,但它没有按预期工作,我选择的第一个方法在选择第二个时会消失


有什么建议可以让它工作吗?当我选择学生和帐户时,我希望它们都显示信息。

您不保存权宜之计。 在我的示例中,我们在session变量中保存$elexpedinte和$idPlan,并重定向到view。 然后在$this->load->view('cuentas_view')中,我们从模型中加载关于这个便利和idPlan的数据,每行一个

试着这样,我想我帮了你

控制器

class Cuentas_controller extends CI_Controller 
{
   public function __construct()
   {
        parent::__construct();

        $this->load->helper('url');
        $this->load->helper('form');
        $this->load->helper('url');

        $this->load->model('Alumnos_model');
        $this->load->model('PlanDePago_model');

    }

    function index()
    {
         $this->load->view('cuentas_view', array(
             'elExpediente' => $this->session->userdata('elExpediente'),
             'idPlan'       => $this->session->userdata('idPlan'),
         ));
    }

    function flashParams()
    {
        // to erase session data elExpediente and idPlan
        $this->session->unset_userdata('elExpediente');
        $this->session->unset_userdata('idPlan');
    }

    function setAccount($id)
    {
        $this->session->set_userdata('idPlan', $id);
        redirect('http://localhost/ProyectoNetbeans/CodeIgniter_2.1.3/index.php/Cuentas_controller');
    }

    function setStudent($elExpediente)
    {
        $this->session->set_userdata('elExpediente', $id);
        redirect('http://localhost/ProyectoNetbeans/CodeIgniter_2.1.3/index.php/Cuentas_controller');
    }   
}
校友模式:

class Alumnos_model extends CI_Model
{
    public function getItem($elExpediente)
    {
        $this->db->select('*');
        $this->db->where('someColumn', $elExpediente);
        $this->db->limit(1);
        $this->db->from('someTable');
        return $this->db->get()->row_array();
    }
}
PlanDePago_模型:

class PlanDePago_model extends CI_Model
{
    public function getItem($id)
    {
        $this->db->select('*');
        $this->db->where('someIdColumn', $id);
        $this->db->limit(1);
        $this->db->from('someTable');
        return $this->db->get()->row_array();
    }
}
cuentas_view.php文件:

<?php

    /*******Information for the student ********/
    $parametroExpediente      = "";
    $parametroNombre          = "";
    $parametroPrimerApellido  = "";
    $parametroSegundoApellido = "";
    $parametroCedula          = "";

    /*******Information for the account********/
    $parametroIDPlan             = "";
    $parametroDescripcionPlan    = "";
    $parametroTotalAPagarPlan    = "";
    $parametroCuantosPagosPlan   = "";
    $parametroFrecuenciaPagoPlan = "";
    $parametroAcivoPlan          = "";
    $parametroIDCursoPlan        = "";
    $parametroMultiGrupoPlan     = "";


    if($row = $this->Alumnos_model->getItem($elExpediente))
    {
        $parametroExpediente      = set_value('expediente',      $elExpediente);
        $parametroNombre          = set_value('nombre',          $row['nombre']);
        $parametroPrimerApellido  = set_value('primerApellido',  $row['primerApellido']);
        $parametroSegundoApellido = set_value('segundoApellido', $row['segundoApellido']);
        $parametroCedula          = set_value('cedula',          $row['cedula']);
    }

    if($row = $this->PlanDePago_model->getItem($idPlan))
    {
        $parametroIDPlan             = set_value('idPlan',              $idPlan);
        $parametroDescripcionPlan    = set_value('descripcion',         $row['descripcion']);
        $parametroTotalAPagarPlan    = set_value('totalApagar',         $row['totalApagar']);
        $parametroCuantosPagosPlan   = set_value('cuantosPagos',        $row['cuantosPagos']);
        $parametroFrecuenciaPagoPlan = set_value('cadaCuantosDiasPaga', $row['cadaCuantosDiasPaga']);
        $parametroAcivoPlan          = set_value('activo',              $row['activo']);
        $parametroIDCursoPlan        = set_value('idCurso',             $row['idCurso']);
        $parametroMultiGrupoPlan     = set_value('multiGrupo',          $row['multiGrupo']);    
    }
?>

your html code here

你的html代码在这里

不确定设置值,我从不使用它

我发布这个答案只是为了去掉我的一些堆栈溢出点:

Codeigniter不是为理解西班牙语变量而设计的。


好了……

多谢了,伙计,这在第一次尝试时效果很好。非常感谢你非常详细的回答。