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不是为理解西班牙语变量而设计的。
好了……多谢了,伙计,这在第一次尝试时效果很好。非常感谢你非常详细的回答。