Tip sobre variables de transporte a una forma a través de una función


Un tipo de variable que no es muy sencilla su estructura de asimilar por la mayoria son las variables tipo array. este tipo de variable almacena varios elementos en el número de campos que hemos asignado.

Normalmente utilizamos una función para desplegar la forma y asi concentrarnos en nuestro codigo de control.  

En nuestro articulo anterior mostramos Manejo De Fechas Para Insercción En base De Datos, y en el, una forma que tenia campos para llenar como fecha, cantidad, nombre, descripción, costo y acción, entonces hicimos enfasis en una validación de la fecha y porsupuesto de una función para poder invertirla, así que, pasamos de largo un tip muy interesante:

Una variable tipo arreglo nos sirve para transportar nuestras variables a la forma($_POST) y es muy importante para darle a nuestro codigo un poco más de claridad y optimización.

Ahora voy a mostrar la funcionalidad de la variable tipo array y lo fácil que es trabajar con ella , comprendido el concepto:

lo primero que les muestro es que almaceno 8 elementos en un array y después este array lo asigno a una variable.

$frmVars = array('id_producto' => $valor_ejemplo,
 'nombre' => $valor_ejemplo,
 'direccion' => $valor_ejemplo,
 'rfc' => $valor_ejemplo,
 'telefono' => $valor_ejemplo,
 'email' => $valor_ejemplo,
 'action' => $valor_ejemplo,
 'boton' => $valor_ejemplo,
 );

Después de asignarle el valor del array a $frmVars lo que les mostraré a continuación será el proceso de la función insertar con unos de los datos que tenemos almacenados en el array:

case'insertar':
 $okRfc = 0;
 
 if(!$_POST){
 //###fase 1
 $message = 'Favor de insertar el registro';
 $tipo = 'normal';
 $display = 'insertar';
 $frmVars = array('action' => $valor_ejemplo,
 'boton' => $valor_ejemplo,
 );
 
 }else{
 //###fase 2 
 $rfc = $_POST["rfc"];
 if($okRfc = validaRfc($rfc)){
 $okRfc == 1;
 }elseif($okRfc == 0){
 $tipo = 'alerta';
 $display = 'insertar';
 $message.=  "Anote correctamente el rfc";
 }

Antes de la primera fase inicializo la variable $okRfc = 0; pues es la que me devolverá el valor boleano.

En la primera fase hago una sentencia de condición para desplegar la forma vacia con un mensaje y un botón.

Ahora llenamos la forma, pero en este caso solo lo haremos con $rfc de manera demostrativa, asi que hacemos su respectiva evaluación.

En seguida hago la sentencia con el valor boleano devuelto y almaceno $rfc ya validado, y posteriormente será el parámetro en nuestra función de insercción.

if($okRfc == 1){
 $frmVars = array('id_producto' => $valor_ejemplo,
 'rfc' => $rfc,
 'action' => 'insertar',
 'boton' => 'insertar',
 );
 $insertarClientes = $clientes->dbClientes->dbInsClientes($frmVars);  //aqui envio el valor de 'rfc' en el parámetro $frmVars e inserta los datos a través de la                                      //función "dbInsClientes".
 if($insertarClientes){
 $dbClientes = $clientes->dbClientes->dbgetClientes();
 $edicionClientes = $dbClientes->db_fetch_full_array();
 $message = "Insertando";
 $tipo = 'normal';
 $display = 'listado';
 }else{
 $tipo = 'alerta';
 $display = 'insertar';
 $message = "NO INSERTE NADA !! ";
 }
}else{
 $tipo = 'alerta';
 $display = 'insertar';
 $frmVars = array('id_producto' => $valor_ejemplo,
 'rfc' => $rfc,
 'action' => 'insertar',
 'boton' => 'insertar',
 );
}
}   
break;

Nota1: Aqui esta la principal utilidad de una variable de transporte:
 function disFormaClientes($frmVars){
 if(is_array($frmVars)) extract($frmVars);
 $html = <<
<form method="post"> valor: input type="var" name="valor"value="$valor">
 br>
 br>
 valor: input type="var" name="valor"value="valor">
 br>
 br>
 RFC: input type="var" name="rfc"value="$rfc">
 br>
 br>
 valor:input type="int" name="valor"value="valor">
 br>
 br>
 valor:input type="var" name="valor"value="valor">
 br>
 input type="submit" value="$boton"> 
 br>
 /form>
 ENDH;
 return $html;
 }

function disFormaClientes($frmVars){        //en esta linea $frmVars transporta todas las variables que requiere dicha función 

if(is_array($frmVars)) extract($frmVars);   //en esta linea importamos variables a la tabla de símbolos actual desde un array.

Nota2: Sin este tip de la variable de transporte tendriamos que utilizar unas lineas largas de codigo en orden especifico, y esto puede causarnos muchos problemas tanto de sintaxis dificiles de detectar como de acomodo.

Nota3: La variable de transporte la podemos manipular para futuras modificaciones y además de ser muy practica reduce nuestro codigo y nos ayuda a mantener limpia nuestra linea de negocio.



 

 

Encuesta de Hoy

Qué gadget te gustaria tener?

Acerca de: MG

Es un proyecto sobre un sitio web, donde los usuarios podrán leer noticias y artículos de relevancia sobre todo lo que envuelve a la Tecnología; Escritos por profesionales en los ramos de Diseño Web, Programacion Web, TI, etc.

Leer más...

MundoGeek

Comentarios y Sugerencias por favor a: contactoarroba_1mundogeek.com, Gracias por tu preferencia.

Login Form