Hola a todos,
estoy haciendo un programa para almacenamiento de datos de una serie de procesos.
Para ello uso capturas de imagenes para el fóndo y sobre ella pongo inputs donde el usuario tiene que escribir un valor.
Al final de la página hay una flecha para pasar a la siguiente pantalla.
Mi idea es almacenar el valor de los inputs en un array global cada vez que se pulse la flecha "siguiente" y cuando lleguemos a la última pantalla de toma de datos salga un resumen con todos los datos y sea en ese momento cuando al presionar "confirmar" se guarde todo en una base de datos.
Quiero hacerlo así para que los datos sean modificables antes de grabarlos en la base de datos.
Sé que se podría hacer mediante una tabla en la bd temporal pero me gustaría hacerlo con un array global cuyos valores perduren a pesar de cargar nuevos controladores.
Este es mi controlador.
Código PHP:
$_status=$this->session->userdata('status');
if ($unit==1 )
{
$screen = $this->units_model->get_screen_by($unit,$page,$_status)->row();
$this->loadInputs($_status,$screen);
}
else if($unit==2)
{
}
else
{
}
}
public function loadInputs ($status,$screen)
{
$data['route']=$screen->route;
//Load of the inputs and save them in an array for each section image
$data['inputs']=array();
$result=$this->units_model->get_inputs_by_sectionAndStatus($status,$screen->section);
if ($result->num_rows()>0)
{
foreach($result->result_array() as $row)
{
array_push($data['inputs'], $row);
}
}
$data['title'] = $screen->section;
$data['content']=APPPATH.'views/Unit.php';
$data['pageNumber']=$screen->screenNumber;
$data['unit']=$screen->unit;
$this->load->view('layout', $data);
}
y esta es mi vista
Código HTML:
<h1>Unidad 1 <?=$this->session->userdata('status')?></h1>
<div id="module" style="background-image: url('<?=base_url().$route?>')">
<?php foreach($inputs as $input)
{
echo '<input type="'.$input['type'].'" name="'.$input['name'].'" maxvalue="'.$input['maxvalue'].'" minvalue="'.$input['minvalue'].'" style="background-color:yellow; margin-top:'.$input['margin-top'].'px;margin-left:'.$input['margin-left'].'px; width:'.$input['width'].'px; position:'.$input['position'].'">';
}?>
</div>
<br>
<?php
if($pageNumber>1)
{
$previousPage=$pageNumber-1;
$path = 'main/loadUnit/'.$unit.'/'.$previousPage;
$img= array(
'src' => "images/previous.png",
'alt' => "");
echo '<div id="previousArrow">';
echo anchor($path,img($img),'id="previousArrow"');
echo '</div>';
}
$nextPage=$pageNumber+1;
$path = 'main/loadUnit/'.$unit.'/'.$nextPage;
$img= array(
'src' => "images/siguiente.png",
'alt' => "");
echo '<div id="nextArrow">';
echo anchor($path,img($img),'id="nextArrow"');
echo '</div>';
?>
Espero que me haya explicado bien. Gracias.