Foros del Web » Programando para Internet » PHP »

Paginacion Y Variables De Session

Estas en el tema de Paginacion Y Variables De Session en el foro de PHP en Foros del Web. HOLA amigos saben tengo un problema con variables de session y paginacion este es el problema: hago una multi busqueda de datos: y al momento ...
  #1 (permalink)  
Antiguo 24/03/2004, 12:47
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años
Puntos: 0
Paginacion Y Variables De Session

HOLA amigos saben tengo un problema con variables de session y paginacion este es el problema:

hago una multi busqueda de datos:

y al momento de recibirlas las asigno a una variable y al hacer la consulta muestro nada mas lo que me ingresaron para buscar.

el problema que al momento de cambiar de pagina los datos de lo que ingreso el usuario ya no me los reconoce ya intente usar variables de session per al momento de realizar el select no me reconoce el $_SESSION['id'],,
ejemplo:



select * from alumnos where id_alumno=$_SESSION[id] ;

habra otra forma?????????

por sus respuestas gracias hay tienen el codigo

Código PHP:
<?php
session_start
();

echo 
$id=$_SESSION['id']=$_GET['Edclv'];
echo 
$nombre1=$_GET['Ednombre_alumno'];
echo 
$apell1=$_GET['Edapellido_paterno'];
echo 
$apell2=$_GET['Edapellido_materno'];
echo 
$sex=$_GET['sexo'];
echo 
$fechan=$_GET['Edfecha_nacimiento'];
echo 
$lugarn=$_GET['Edlugar_nacimiento']; 
echo 
$calle=$_GET['Edcalle'];
echo 
$n_ext=$_GET['Ednumero_exterior'];
echo 
$n_int=$_GET['Ednumero_interior'];
echo 
$col=$_GET['Edcolonia'];
echo 
$cp1=$_GET['Edcp'];
echo 
$tel=$_GET['Edtelefono'];
echo 
$ciudad1=$_GET['Edciudad'];
echo 
$localidad1=$_GET['Edlocalidad']; 
echo 
$municipio1=$_GET['Edmunicipio'];
 

include(
'conexion.php');

    echo 
"<body bgcolor='ladyblue'>";
  
$link "<center><a href='alumunos.php'>Regresar</a></center>";

    
    if(isset(
$_GET['pag_actual'])) 
    { 
  echo  
$pag_actual $_GET['pag_actual']; 
  } 
    else 
    { 
    
$pag_actual 0
  } 
    
$cantidad=1;
    
$inicial=($pag_actual) * $cantidad;
    
    
$sql="select *  from alumno where  id_alumno like '%$id%' and nombre like '%$nombre1%' and apellido_paterno like  '%$apell1%' and apellido_materno like '%$apell2%' and sexo like '%$sex%' and  fecha_nacimiento like '%$fechan%' and lugar_nacimiento like '%$lugarn%'and calle like '%$calle%' and   no_exterior like '%$n_ext%'  and no_interior like '%$n_int%' and colonia like '%$col%' and cp like '%$cp1%' and telefono like '%$tel%' and ciudad like '%$cuidad1%' and localidad like '%$localidad1%' and  municipio like '%$municipio1%' limit $inicial,$cantidad";
    
$consulta mysql_query($sql,$conex) OR die("No se pudo realizar la consulta"); //realizo la consulta
    
$sql1 "select *  from alumno where  id_alumno like '%$id%' and nombre like '%$nombre1%' and apellido_paterno like  '%$apell1%' and apellido_materno like '%$apell2%' and sexo like '%$sex%' and  fecha_nacimiento like '%$fechan%' and lugar_nacimiento like '%$lugarn%'and calle like '%$calle%' and   no_exterior like '%$n_ext%'  and no_interior like '%$n_int%' and colonia like '%$col%' and cp like '%$cp1%' and telefono like '%$tel%' and ciudad like '%$cuidad1%' and localidad like '%$localidad1%' and  municipio like '%$municipio1%'";  
    
$consulta1 mysql_query($sql1,$conex) OR die("No se pudo realizar la consulta"); //realizo la consulta
    
$total mysql_num_rows($consulta1);
    
    
    
//parte de la paginacion
    
    
$_SESSION["total"]=$total;
    echo 
$paginas intval($total $cantidad);
    echo 
"<div align='center'>";
    echo 
"<h1>Activar usuarios</h1><br>";
    echo 
"<table align='center' border='1'>";
    


    
//acaba la parte de paginacion 
  
while($row=mysql_fetch_row($consulta) ) {
    
                
//se realiza una siclo para recorrer los campos de la base de datos
         
echo    $_SESSION['id'];
                                 
    if (
$row[0]){

echo 
"</td>";
echo 
"<td>";
echo 
"<input type=hidden value=$row[0] name=Edcvl >";
echo 
"</td>";
echo 
"<tr align=right>";
}                        

if (
$row[3]){

echo 
"</td>";
echo 
"<td>";
echo 
"Nombre<input type=text value=$row[3] name=Ednombre >";
echo 
"</td>";
echo 
"<tr align=right>";
}

if (
$row[4]){

echo 
"</td>";
echo 
"<td>";
echo 
" Apellido Paterno <input type=text value=$row[4] name=Edapellido_paterno disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[5]){

echo 
"</td>";
echo 
"<td>";
echo 
"Apellido Materno <input type=text value=$row[5] name=Edapellido_materno  disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}

if (
$row[6]){

echo 
"</td>";
echo 
"<td>";
echo 
"Fecha de nacimienro<input type=text value=$row[6] name=Edfecha_nacimiento disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}

if (
$row[7]){

echo 
"</td>";
echo 
"<td>";
echo 
"Lugar de Nacimiento<input type=text value=$row[7] name=Edlugar_nacimiento disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}

if (
$row[8]){

echo 
"</td>";
echo 
"<td>";
echo 
"sexo<input type=text value=$row[8] name=sexo disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[9]){

echo 
"</td>";
echo 
"<td>";
echo 
"calle <input type=text value=$row[9] name=Edcalle disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[10]){

echo 
"</td>";
echo 
"<td>";
echo 
"Numero Interior<input type=text value=$row[10] name=Ednumero_exterior disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[11]){

echo 
"</td>";
echo 
"<td>";
echo 
"Numero Interior<input type=text value=$row[11] name=Ednumero_interior disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[12]){

echo 
"</td>";
echo 
"<td>";
echo 
"Colonia<input type=text value=$row[12] name=Edcolonia disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}

if (
$row[13]){

echo 
"</td>";
echo 
"<td>";
echo 
"cp <input type=text value=$row[13] name=Edcp disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[14]){

echo 
"</td>";
echo 
"<td>";
echo 
"Telefono <input type=text value=$row[14] name=Edtelefono disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[15]){

echo 
"</td>";
echo 
"<td>";
echo 
"Ciudad <input type=text value=$row[15] name=Edciudad disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[16]){

echo 
"</td>";
echo 
"<td>";
echo 
"Localidad <input type=text value=$row[16] name=Edlocalidad disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[17]){

echo 
"</td>";
echo 
"<td>";
echo 
"Municipio<input type=text value=$row[17] name=Edmunicipio disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}

                                  
              
                                
                                                 }

     
   
        
 
    echo 
"</table>";
mysql_close($conex);
    
    
//continua la paginacion
    
    
if($pag_actual != 0)
    {
      
$url $pag_actual 1;
        echo 
"<a href='paginacion.php?pag_actual=".$url."'>&laquo; Anterior</a>&nbsp;";
    }
    else
    {
      echo 
" ";
    }
    for(
$i=0;$i<($paginas 1);$i++)
    {
      if(
$i == $pag_actual)
        {
          echo 
"&nbsp;[$i]&nbsp;";
        }
        else
        {
          echo 
"<a href='paginacion.php?pag_actual=".$i."'>".$i."</a>&nbsp;";
        }
    }
    if(
$pag_actual $paginas)
    {
      
$url $pag_actual 1;
        echo 
"<a href='paginacion.php?pag_actual=".$url."'>Siguiente &raquo;</a>";
    }
    else
    {
      echo 
" ";
    }
    echo 
"<br><br>$link<br>";
    echo 
"</div>";
?>
  #2 (permalink)  
Antiguo 24/03/2004, 13:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
No sé si será correcto ..

echo $id=$_SESSION['id']=$_GET['Edclv'];

pero ..ya que usas tu $id en todo el código y este tiene que tomar el valor que llega por GET (por el URL) o bien el que has guardado en la sesión si existe .. deberias hacer algo tipo:

Código PHP:
if (isset($_SESSION['id'])){
// Si está definida la sesión con la variable id .. la asigno a $id
$id=$_SESSION['id'];
} elseif (isset(
$_GET['Edclv'])){
// Si no está definida la sesión ID .. miro si está en GET tu Edclv
$id=$_GET['Edclv'];
} else {
// Y sino... mando un error (y termino la ejecución del script) por qué se perdió la sesión o no se indicó Edclv ...
die ("ID Edclv no especificado");

------ Observación -----

Para el condicional por "ID" que ha de ser único .. usa:
id_alumno='$id'

en lugar de:

id_alumno LIKE '%$id%'



Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 24/03/2004 a las 13:40
  #3 (permalink)  
Antiguo 24/03/2004, 16:52
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años
Puntos: 0
Gracias por Contestar CLUSTER;;

probe el codigo y se pierde la sesion cuando avanzo de pagina

Donde estara el problema?¿?¿?¿?¿?¿?

te mando el codigo de nuevo,,,,,,,,,,,, y gracias por contestar


Código PHP:

<?php
session_start
();

echo 
$_GET['Edclv'];

if (isset(
$_GET['Edclv'])){
// Si no está definida la sesión ID .. miro si está en GET tu Edclv
$id=$_GET['Edclv'];
} else {
// Y sino... mando un error (y termino la ejecución del script) por qué se perdió la sesión o no se indicó Edclv ...
die ("ID Edclv no especificado");
}
// eso mimo que hice con el id lo quiero hacer para las demas

echo $nombre1=$_GET['Ednombre_alumno'];
echo 
$apell1=$_GET['Edapellido_paterno'];
echo 
$apell2=$_GET['Edapellido_materno'];
echo 
$sex=$_GET['sexo'];
echo 
$fechan=$_GET['Edfecha_nacimiento'];
echo 
$lugarn=$_GET['Edlugar_nacimiento']; 
echo 
$calle=$_GET['Edcalle'];
echo 
$n_ext=$_GET['Ednumero_exterior'];
echo 
$n_int=$_GET['Ednumero_interior'];
echo 
$col=$_GET['Edcolonia'];
echo 
$cp1=$_GET['Edcp'];
echo 
$tel=$_GET['Edtelefono'];
echo 
$ciudad1=$_GET['Edciudad'];
echo 
$localidad1=$_GET['Edlocalidad']; 
echo 
$municipio1=$_GET['Edmunicipio'];
 

include(
'conexion.php');

    echo 
"<body bgcolor='ladyblue'>";
  
$link "<center><a href='alumunos.php'>Regresar</a></center>";

    
    if(isset(
$_GET['pag_actual'])) 
    { 
  echo  
$pag_actual $_GET['pag_actual']; 
  } 
    else 
    { 
    
$pag_actual 0
  } 
    
$cantidad=1;
    
$inicial=($pag_actual) * $cantidad;
    
    
//consulta para mostrar los resultados de la busqueda
    
    
$sql="select *  from alumno where  id_alumno = '$id' and nombre like '%$nombre1%' and apellido_paterno like  '%$apell1%' and apellido_materno like '%$apell2%' and sexo like '%$sex%' and  fecha_nacimiento like '%$fechan%' and lugar_nacimiento like '%$lugarn%'and calle like '%$calle%' and   no_exterior like '%$n_ext%'  and no_interior like '%$n_int%' and colonia like '%$col%' and cp like '%$cp1%' and telefono like '%$tel%' and ciudad like '%$cuidad1%' and localidad like '%$localidad1%' and  municipio like '%$municipio1%' limit $inicial,$cantidad";
    
$consulta mysql_query($sql,$conex) OR die("No se pudo realizar la consulta"); //realizo la consulta
    
$sql1 "select *  from alumno where  id_alumno like '%$id%' and nombre like '%$nombre1%' and apellido_paterno like  '%$apell1%' and apellido_materno like '%$apell2%' and sexo like '%$sex%' and  fecha_nacimiento like '%$fechan%' and lugar_nacimiento like '%$lugarn%'and calle like '%$calle%' and   no_exterior like '%$n_ext%'  and no_interior like '%$n_int%' and colonia like '%$col%' and cp like '%$cp1%' and telefono like '%$tel%' and ciudad like '%$cuidad1%' and localidad like '%$localidad1%' and  municipio like '%$municipio1%'";  
    
$consulta1 mysql_query($sql1,$conex) OR die("No se pudo realizar la consulta"); //realizo la consulta
    
$total mysql_num_rows($consulta1);
    
    
    
//parte de la paginacion
    
    
$_SESSION["total"]=$total;
    echo 
$paginas intval($total $cantidad);
    echo 
"<div align='center'>";
    echo 
"<h1>Activar usuarios</h1><br>";
    echo 
"<table align='center' border='1'>";
    


    
//acaba la parte de paginacion 
  
while($row=mysql_fetch_row($consulta) ) {
    
                
//se realiza una siclo para recorrer los campos de la base de datos
                                
        //regreso el resultado tal y como lo mostre al principio pero lleno con lo que se busco
                                 
    
if ($row[0]){

echo 
"</td>";
echo 
"<td>";
echo 
"<input type=hidden value=$row[0] name=Edcvl >";
echo 
"</td>";
echo 
"<tr align=right>";
}                        

if (
$row[3]){

echo 
"</td>";
echo 
"<td>";
echo 
"Nombre<input type=text value=$row[3] name=Ednombre >";
echo 
"</td>";
echo 
"<tr align=right>";
}

if (
$row[4]){

echo 
"</td>";
echo 
"<td>";
echo 
" Apellido Paterno <input type=text value=$row[4] name=Edapellido_paterno disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[5]){

echo 
"</td>";
echo 
"<td>";
echo 
"Apellido Materno <input type=text value=$row[5] name=Edapellido_materno  disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}

if (
$row[6]){

echo 
"</td>";
echo 
"<td>";
echo 
"Fecha de nacimienro<input type=text value=$row[6] name=Edfecha_nacimiento disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}

if (
$row[7]){

echo 
"</td>";
echo 
"<td>";
echo 
"Lugar de Nacimiento<input type=text value=$row[7] name=Edlugar_nacimiento disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}

if (
$row[8]){

echo 
"</td>";
echo 
"<td>";
echo 
"sexo<input type=text value=$row[8] name=sexo disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[9]){

echo 
"</td>";
echo 
"<td>";
echo 
"calle <input type=text value=$row[9] name=Edcalle disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[10]){

echo 
"</td>";
echo 
"<td>";
echo 
"Numero Interior<input type=text value=$row[10] name=Ednumero_exterior disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[11]){

echo 
"</td>";
echo 
"<td>";
echo 
"Numero Interior<input type=text value=$row[11] name=Ednumero_interior disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[12]){

echo 
"</td>";
echo 
"<td>";
echo 
"Colonia<input type=text value=$row[12] name=Edcolonia disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}

if (
$row[13]){

echo 
"</td>";
echo 
"<td>";
echo 
"cp <input type=text value=$row[13] name=Edcp disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[14]){

echo 
"</td>";
echo 
"<td>";
echo 
"Telefono <input type=text value=$row[14] name=Edtelefono disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}
if (
$row[15]){

echo 
"</td>";
echo 
"<td>";
echo 
"Ciudad <input type=text value=$row[15] name=Edciudad disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}

if (
$row[16]){

echo 
"</td>";
echo 
"<td>";
echo 
"Localidad <input type=text value=$row[16] name=Edlocalidad disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}

if (
$row[17]){

echo 
"</td>";
echo 
"<td>";
echo 
"Municipio<input type=text value=$row[17] name=Edmunicipio disabled=>";
echo 
"</td>";
echo 
"<tr align=right>";
}

                                  
 }

    echo 
"</table>";
mysql_close($conex);
    
    
//continua la paginacion para mostrar todos los resultados
    
    
if($pag_actual != 0)
    {
      
$url $pag_actual 1;
        echo 
"<a href='paginacion.php?pag_actual=".$url."'>&laquo; Anterior</a>&nbsp;";
    }
    else
    {
      echo 
" ";
    }
    for(
$i=0;$i<($paginas 1);$i++)
    {
      if(
$i == $pag_actual)
        {
          echo 
"&nbsp;[$i]&nbsp;";
        }
        else
        {
          echo 
"<a href='paginacion.php?pag_actual=".$i."'>".$i."</a>&nbsp;";
        }
    }
    if(
$pag_actual $paginas)
    {
      
$url $pag_actual 1;
        echo 
"<a href='paginacion.php?pag_actual=".$url."'>Siguiente &raquo;</a>";
    }
    else
    {
      echo 
" ";
    }
    echo 
"<br><br>$link<br>";
    echo 
"</div>";
?>

GRacias por el tip Cluster......

Por sus Respuestas gracias...

Última edición por The_omars; 24/03/2004 a las 18:37
  #4 (permalink)  
Antiguo 24/03/2004, 20:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Pero .. ¿usastes el código que puse? ...

En tu variación .. no usas sessiones .. pero tampoco propagas el ID en los links de tu paginación .. así que es lógico que los pierdas ..

Deberias hacer por ejemplo:
Código PHP:
echo "<a href='paginacion.php?pag_actual=".$url."&Edclv=".$id."'>Siguiente &raquo;</a>"
Y así con todas las variables que tengan que mantener su valor .. debes "propagarlas" ... Pero esto mismo puedes hacerlo en una variable de sesión también.

Decidete si vas a propagar esa variable en el URL o en una sesión ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 24/03/2004 a las 20:36
  #5 (permalink)  
Antiguo 25/03/2004, 08:34
Avatar de The_omars  
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años
Puntos: 0
De acuerdo

SI asi era el asunto ¡¡¡¡

Muchas gracias Cluster¡¡¡

el que sabe, sabe¡¡¡

Este foro esta exelente....






Saludos y gracias¡¡¡

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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:40.