Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/05/2013, 10:49
Avatar de tito87
tito87
 
Fecha de Ingreso: septiembre-2012
Ubicación: Tarragona
Mensajes: 25
Antigüedad: 12 años, 3 meses
Puntos: 0
Creacion de variables globales !

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==)
        {
            
$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.