Foros del Web » Programando para Internet » PHP »

Varias variables de sesion a partir de un while

Estas en el tema de Varias variables de sesion a partir de un while en el foro de PHP en Foros del Web. amigos tengo este código, no se q estoy haciendo mal, ya que necesito convertir los resultados de mi consulta en variables de sesion, ya que ...
  #1 (permalink)  
Antiguo 12/08/2014, 12:52
Avatar de rachpts  
Fecha de Ingreso: febrero-2012
Mensajes: 117
Antigüedad: 12 años, 2 meses
Puntos: 0
Varias variables de sesion a partir de un while

amigos tengo este código, no se q estoy haciendo mal, ya que necesito convertir los resultados de mi consulta en variables de sesion, ya que la clave se repite 6 veces en mi primer prueba y si hace bien la consulta, ahora necesito convertir los años y el otro valor en variables de sesion... Gracias por su ayuda


Código PHP:
Ver original
  1. <?php
  2.  
  3. include "conexion.php";
  4.     if (isset($_POST["mu"])) {
  5.         $mu = $_POST["mu"];
  6.         $zo = $_POST["zo"];
  7.         $ma = $_POST["ma"];
  8.         $lo = $_POST["lo"];
  9.         $ed = $_POST["ed"];
  10.         $de = $_POST["de"];
  11.     if($mu==NULL|$zo==NULL|$ma==NULL|$lo==NULL|$ed==NULL|$de==NULL) {
  12.         echo "<script language=\"JavaScript\">";
  13.         echo "alert(\"Debes de llenar todos los campos.\");";
  14.         echo("location.href='index.php'");
  15.         echo "</script>";
  16.         }
  17.         }
  18.     if(isset($_POST['mu']) && $_POST['zo'] && $_POST['ma'] && $_POST['lo'] && $_POST['ed'] && $_POST['de']){
  19.         $mu = $_POST['mu'];
  20.         $zo = $_POST['zo'];
  21.         $ma = $_POST['ma'];
  22.         $lo = $_POST['lo'];
  23.         $ed = $_POST['ed'];
  24.         $de = $_POST['de'];
  25.         $sql = "SELECT Municipio, Zona, Manzana, Lote, Edificio, Depto, AnioVal, vCatastralc as dep FROM te_ca_valuaciones WHERE Municipio='".$mu."' and Zona='".$zo."' and Manzana='".$ma."' and Lote='".$lo."' and Edificio='".$ed."' and Depto='".$de."' and AnioVal>='2009'";
  26.         $result = mysql_query($sql) or die("Imposible verificar clave catastral: " . mysql_error());
  27.         mysql_query("SET NAMES 'utf8'");
  28.        
  29.     if(mysql_num_rows($result)>0){
  30.         //usuario y contraseña válidos
  31.         //session_name("loginusuario");
  32.         //asigno un nombre a la sesión para poder guardar diferentes datos
  33.         session_start();
  34.        
  35.        
  36.        
  37.         while($fila=mysql_fetch_array($result)) {
  38.         //session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0);
  39.         //cambiamos la duración a la cookie de la sesión
  40.         // inicio la sesión
  41.         $_SESSION["autentificado"] = "SI";
  42.         $_SESSION["AnioVal"] = $fila['AnioVal'];
  43.         $_SESSION["dep"] = $fila['dep'];
  44.    
  45.         //defino la sesión que demuestra que el usuario está autorizado
  46.         $_SESSION["ultimoacceso"]= date("Y-n-j H:i:s");
  47.         //defino la fecha y hora de inicio de sesión en formato aaaa-mm-dd hh:mm:ss
  48.         header ("Location: acceso.php");
  49.         }
  50. }else {
  51.     //si no existe le mando otra vez a la portada
  52.      
  53.         echo "<script language=\"JavaScript\">";
  54.         echo "alert(\"Verifica la clave catastral.\");";
  55.         echo("location.href='index.php'");
  56.         echo "</script>";
  57. }
  58. }
  59. ?>
  #2 (permalink)  
Antiguo 12/08/2014, 17:00
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 7 meses
Puntos: 38
Respuesta: Varias variables de sesion a partir de un while

Hola!
Cita:
repite 6 veces en mi primer prueba
Entiendo que ese es el problema verdad?

Mi opinion es que :
Código PHP:
$sql "SELECT Municipio, Zona, Manzana, Lote, Edificio, Depto, AnioVal, vCatastralc as dep FROM te_ca_valuaciones WHERE Municipio='".$mu."' and Zona='".$zo."' and Manzana='".$ma."' and Lote='".$lo."' and Edificio='".$ed."' and Depto='".$de."' and AnioVal>='2009'"
Ten en cuenta que el numero de resultados que te va a devolver esta query va ser variable.

Por lo que yo haría arrays multidimensionales :


Código PHP:
$_SESSION['datos'] = array();
$indice 0;
  while(
$fila=mysql_fetch_array($result)) {
        
//session_set_cookie_params(0, "/", $HTTP_SERVER_VARS["HTTP_HOST"], 0);
        //cambiamos la duración a la cookie de la sesión
        // inicio la sesión

 
array_push($_SESSION["datos"],array("num_dato"=>$indice++"autentificado"=> "SI""AnioVal"=> $fila['AnioVal'], "dep"=>, $fila['dep']));
     

   
        
//defino la sesión que demuestra que el usuario está autorizado
        
$_SESSION["ultimoacceso"]= date("Y-n-j H:i:s");
        
//defino la fecha y hora de inicio de sesión en formato aaaa-mm-dd hh:mm:ss
        
header ("Location: acceso.php");
        } 
es muy tarde por aquí ... espero haber resuelto tu duda!


Saludos

Última edición por Djoaq; 12/08/2014 a las 17:21

Etiquetas: fecha, mysql, select, sql, variable, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:18.