Foros del Web » Programando para Internet » PHP »

paginacion con vbles de sesion

Estas en el tema de paginacion con vbles de sesion en el foro de PHP en Foros del Web. Hola, a todos, soy nuevo por estos lares, mi problema es que he metido un código de paginación de resultados pero no me funciona creo ...
  #1 (permalink)  
Antiguo 20/03/2003, 14:57
 
Fecha de Ingreso: marzo-2003
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
Sonrisa paginacion con vbles de sesion

Hola, a todos, soy nuevo por estos lares, mi problema es que he metido un código de paginación de resultados pero no me funciona creo q debido a que la página está protegida por vbles de sesión, lo he probado sin estas vbles y me va bien. Estaría agradecido si alguien me diese alguna posible solución, saludoxxxxxx
  #2 (permalink)  
Antiguo 20/03/2003, 15:00
Avatar de josgat  
Fecha de Ingreso: noviembre-2002
Mensajes: 137
Antigüedad: 15 años
Puntos: 0
Hola, estaría encantado de ayudarte, pero como no especifiques más....

ADEU
  #3 (permalink)  
Antiguo 20/03/2003, 15:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si vemos el "código" es probable que se te pueda dar una solución .. mientras tanto .....

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 20/03/2003, 15:54
 
Fecha de Ingreso: marzo-2003
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
Aqui esta el código, a ver si me podeis ayudar

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

function 
autenticarAdministrador()
{
global 
$sessionLogin$cesta$unidades,$_GET;
session_register(sessionLogin);
session_register(cesta);
session_register(unidades);
session_register(_GET);
if (!isset(
$sessionLogin))
   {
       
header ("location: ../index.php");
       
session_destroy();

       exit;
   }
}
?>

<html>
<head>
<link rel="STYLESHEET" type="text/css" href="../estilos.css">
       <title>Clientes</title>

</head>
<body background="../images/alquilar.gif" vlink="#66FF00" alink="#66FFFF">
<?php
//-----------------------------------
  
function presentar()
{
global 
$pagina,$sessionLogin,$cesta,$idCliente$dni$password$telefono$direccion$nombre$apellidos,$txt_criterio,$criterio ;
$conexion=mysql_connect("localhost","",""); //nos conectamos a la base de datos
mysql_select_db("videoclub",$conexion);         //buscamos nuestra base de datos
//--------------------------------------------------------
//inicializo el criterio y recibo cualquier cadena que se desee buscar
$criterio ="";
if (
$_GET["criterio"]!=""){
    
$txt_criterio $_GET["criterio"];
    
$criterio " where titulo like '%" $txt_criterio "%'";
}

//Limito la busqueda
$TAMANO_PAGINA 3;

//examino la página a mostrar y el inicio del registro a mostrar
$pagina $_GET["pagina"];
if (!
$pagina) {
        
$inicio 0;
        
$pagina=1;
}
else {
    
$inicio = ($pagina 1) * $TAMANO_PAGINA;
}

//miro a ver el número total de campos que hay en la tabla con esa búsqueda
$ssql "select * from peliculas" $criterio;
$resultado mysql_query($ssql,$conexion);
$num_total_registros mysql_num_rows($resultado);
//calculo el total de páginas
$total_paginas ceil($num_total_registros $TAMANO_PAGINA);
//construyo la sentencia SQL
$ssql "select * from peliculas order by titulo " $criterio " limit " $inicio "," $TAMANO_PAGINA;

echo 
"<font color='white'>"; echo $ssql "</font><p>";

$resultado mysql_query($ssql);



//--------------------------------------------------------
//$resultado=mysql_query("select * from peliculas,clientes where clientes.dni=$sessionLogin order by titulo",$conexion);//conectamos la tabla
//echo "$resultado";

echo "<br><br><br><br>";
echo 
"<table width='600' align='center' border='0' bgcolor='beige' >";
echo 
"<tr align='center'>";
echo 
"<td width='30%'><font face='algerian'>TÍTULO</td>";
echo 
"<td width='15%'><font face='algerian'>GÉNERO</td>";
echo 
"<td width='45%'><font face='algerian'>DESCRIPCIÓN</td>";
echo 
"<td width='5%'><font face='algerian'>PRECIO (Euros)</td></font>";
echo 
"<td width='5%'></td></tr>";
while(
$fila=mysql_fetch_array($resultado))
  {
      echo 
"<tr>";
      echo 
"<td width='30%'><font size='2' color='brown' face='broadway'>-$fila[titulo]</font></td>";
      echo 
"<td align='center' width='15%'><font face='curlz MT'>$fila[genero]</font></td>";
      echo 
"<td width='50%'>$fila[descripcion]</td>";
      echo 
"<td width='50%' align='center'>$fila[precio]</td>";
      echo 
"<td width='5%'><a href='principal.php?estado=mostrarCompra&idPelicula=$fila[idPelicula]&titulo=$fila[titulo]&idCliente=$fila[idCliente]&dni=$fila[dni]&nombre=$fila[nombre]'><img src='../images/comprar.gif'></a></td>";
      echo 
"</tr>";
  }
echo 
"</table>";
echo 
"<br>";
//echo "<br>";
echo "<p align='center'><font color='white' face='arial'>"."Número de registros encontrados: " $num_total_registros "<br>";
echo 
"Se muestran páginas de " $TAMANO_PAGINA " registros cada una<br>";
echo 
"Mostrando la página " $pagina " de " $total_paginas "</font></p>";
//cerramos el conjunto de resultados y la conexión con la base de datos
mysql_free_result($resultado);
mysql_close($conexion);

echo 
"<p>";
?>
<p align="center"><font face="verdana" color="orange"><a href="../salir.php">Desconectar</a></font></p>

<?php
//echo"<p align='center'><font face='verdana' color='orange'><a href='principal.php?estado=presentarmodificar&dni=$sessionLogin'>Modificar mis datos</a></font></p>";



//muestro los distintos índices de las páginas, si es que hay varias páginas
if ($total_paginas 1)
      {
    for (
$i=1;$i<=$total_paginas;$i++)
        {
        if (
$pagina == $i)
            
//si muestro el índice de la página actual, no coloco enlace
            
echo $pagina " ";
        else
            
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
        
echo "<a href='principal.php?pagina=" $i "&criterio=" $txt_criterio "'><font color='white'>" $i "</font></a>";
       }
  }
}
(editado para poner los vBcode de PHP codigo .. así queda algo mas legible ..)

Última edición por Cluster; 20/03/2003 a las 16:02
  #5 (permalink)  
Antiguo 20/03/2003, 16:03
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Posiblemente porque estas metiendo en la sesion el array $_GET. Y supongo que PHP pisa esa variable con los valores actuales de la web. Guarda en la sesion cada una de las variables del $_GET.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 20/03/2003, 16:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
"no me funciona" .. ?? .. que es lo que debería hacer y no hace .. algun error de PHP .. de Mysql? .. algo?

<editado>

Ademas del detalle de $_GET y _GET como array en la session ...

Hay un gran lio en la forma de uso de las sesiones .. y de los arrays superglobales .. Si usas $_GET .. porqué no usas $_SESSION para establecer variables de sesion (leer/guardar) ..?

El uso de tanta variable global .. junto con el uso de sessiones en modo "asumiendo globales" (usas session_register ..etc) te puede dar poblemas como parece q te los está dando con $_GET

</editado>

Un saludo,

Última edición por Cluster; 20/03/2003 a las 16:10
  #7 (permalink)  
Antiguo 20/03/2003, 17:07
 
Fecha de Ingreso: marzo-2003
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
Gracias x las ayudas

Gracias por las respuestas hasta el momento.
Voy por partes:
- el array _get lo puse como global y en la sesión para ver si así me iba bien, pero parece q no.
- El problema q hay en concreto no es q me dé errores, sino q los enlaces q deberían ir a las diferentes páginas (o sea, los numeros: 1-2-3-....) no van, siempre se queda en el 1.
Creo q el problema es q dichos enlaces me capturan el PHPSESSId. He prbado sin vbles de sesión y va bien...
Deciros q no soy informático, por si no se había notado y rogaros q las explicaciones sean lo más sencillas posible,
GRACIAS A TODOSSSSSSSSSS!!!!!!!
  #8 (permalink)  
Antiguo 21/03/2003, 15:09
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿Has probado a quitar solo $_GET de la sesion? Es que no tiene sentido. Intentas guardarla en la sesion y luego la pasas por URL (GET).

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 13:50.