Variables globales de un recordset

  • Por
Como declarar e inicializar un conjunto de variables globales a partir de una fila de un recordset.

Llegado el caso podría ser interesante que los datos devueltos en una consulta pasen a ser variables globales de PHP para una posterior manipulación más práctica.

Si de ahora en adelante surge la necesidad de realizar esto, no hay más que ejecutar el script siguiente:

function recibe_fila($fila){ 

 foreach($fila as $nombre_campo => $valor){ 

  	if (gettype($nombre_campo)!="integer"){ 
    $asignacion = "\$GLOBALS[\"" . $nombre_campo . "\"]="; 

    if((is_integer($valor) || (is_float($valor)) 
     $asignacion.= $valor . ";"; 
    else $asignación.= "'". $valor. "';"; 
   eval($asignacion); 
  	//echo $asignacion . "<br>"; 
  	} 

 } 
}

Recibe como parámetro toda la fila devuelta por la consulta. Ya dentro de la función, por cada atributo contenido en la fila, averigua el tipo de cada clave del array (ya que el bucle foreach siempre asigna 2 claves por cada una - una numérica, que es el índice del nombre del campo en la tabla, y la otra alfanumérica, que es el nombre del campo), y, por cada clave alfanumérica, averigua el tipo del valor a asignar a $GLOBALS["atributo"] (si es numérico no va entre comillas, y si es una cadena sí las lleva). Lo último a realizar es pasarle a la función eval() la sentencia de asignación, para así interpretarla como sentencia PHP.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir