Foros del Web » Programando para Internet » PHP »

Error paginando consulta

Estas en el tema de Error paginando consulta en el foro de PHP en Foros del Web. Hola a todos hice un sistema de noticias, y quiero que cuando haya mas de 4 consultas se pueda pasar a otra pagina. Puse esto ...
  #1 (permalink)  
Antiguo 22/11/2007, 15:04
 
Fecha de Ingreso: diciembre-2006
Mensajes: 83
Antigüedad: 17 años, 4 meses
Puntos: 0
Error paginando consulta

Hola a todos hice un sistema de noticias, y quiero que cuando haya mas de 4 consultas se pueda pasar a otra pagina.

Puse esto para dicho fin:
Código PHP:
<?php
// Datos de conexión a la base

$base="basedatos";
$con=mysql_connect('localhost','usuario','pass');
mysql_select_db($base,$con);

if (!isset(
$pg))
$pg 0// $pg es la pagina actual
$cantidad=4// cantidad de resultados por página
$inicial $pg $cantidad;

$pegar "SELECT * FROM noticias ORDER BY fecha DESC LIMIT $inicial,$cantidad";
$cad mysql_db_query($base,$pegar) or die (mysql_error());

$contar "SELECT * FROM noticias ORDER BY fecha DESC"
$contarokmysql_db_query($base,$contar);
$total_records mysql_num_rows($contarok);
$pages intval($total_records $cantidad);

// Imprimiendo los resultados
while($array mysql_fetch_array($cad)) {
$titulo=$array[titulo];
$noticia=$array[noticia];
$autor=$array[autor];
$fecha=$array[fecha];
                    
    echo 
"<font color='#00FF00'><table width='100%' border='0'>";
    echo 
"<tr bgcolor='#333333'><td><font color='#00FF00'><b><em>".$fecha."</em> - ".$titulo."</b></font></td></tr>";
    echo 
"<tr><td><font color='#00FF00'>".$noticia."</font></td></tr>";
    echo 
"<tr><td><p align='right'><font color='#00FF00'><em>Autor: ".$autor."</em></font></p></td></tr>";
    echo 
"</table></font>";


// Cerramos la conexión a la base
$con=mysql_close($con);

// Creando los enlaces de paginación
echo "<p>";
if (
$pg <> 0)
{
$url $pg 1;
echo 
"<a href='principal.php?pg=".$url."'>« Anterior</a> ";
}
else {
echo 
" ";
}

for (
$i 0$i<($pages 1); $i++) {
if (
$i == $pg) {
echo 
"<font face=Arial size=2 color=ff0000><b> ".$i." </b></font>";
}
else {
echo 
"<a href='principal.php?pg=".$i."'>".$i."</a> ";
}
}

if (
$pg $pages) {
$url $pg 1;
echo 
"<a href='principal.php?pg=".$url."'>Siguiente »</a>";
}
else {
echo 
" ";
}
echo 
"</p>";
?>
El error esta en que si le doy a siguiente o a pagina 1, no hace nada, vuelve a salir las mismas noticias.

principal es la web donde esta este script y por seguridad no muestro el usuario y contraseña de la conexion ;)

Dare un karma a las ayudas gracias!!!
  #2 (permalink)  
Antiguo 22/11/2007, 15:38
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Error paginando consulta

Código PHP:
if (!isset($_GET['pg']))
$pg 0// $pg es la pagina actual 
else
$pg intval($_GET['pg']); 
Register globals... viejoy querido... desde hace mucho tiempo que viene deshabilitado por defecto y entonces tenes que indicar por que medio llega la variable.
  #3 (permalink)  
Antiguo 22/11/2007, 17:44
 
Fecha de Ingreso: diciembre-2006
Mensajes: 83
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Error paginando consulta

ahhh ok lo intentare gracias
  #4 (permalink)  
Antiguo 22/11/2007, 18:12
 
Fecha de Ingreso: diciembre-2006
Mensajes: 83
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Error paginando consulta

sry pero no comprendi bien que hacer :S
  #5 (permalink)  
Antiguo 22/11/2007, 19:51
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Error paginando consulta

Código PHP:
 <?php
// Datos de conexión a la base

$base="basedatos";
$con=mysql_connect('localhost','usuario','pass');
mysql_select_db($base,$con);

if (!isset(
$_GET['pg']))
$pg 0// $pg es la pagina actual 
else
$pg intval($_GET['pg']);
  
$cantidad=4// cantidad de resultados por página
$inicial $pg $cantidad;
//......... acá sigue igual
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:13.