Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Necesito insertar script php de paginación...

Estas en el tema de Necesito insertar script php de paginación... en el foro de Bases de Datos General en Foros del Web. Hola, estoy haciendo un sitio web que contiene noticias... mi consulta sql es la siguiente y me funciona perfecta... @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original ...
  #1 (permalink)  
Antiguo 06/09/2010, 23:01
 
Fecha de Ingreso: diciembre-2009
Mensajes: 24
Antigüedad: 14 años, 4 meses
Puntos: 0
Necesito insertar script php de paginación...

Hola, estoy haciendo un sitio web que contiene noticias... mi consulta sql es la siguiente y me funciona perfecta...

Código PHP:
Ver original
  1. <?php
  2. include("conectar.php");                           
  3. $noticias = mysql_query("SELECT id, noticia, titular, fecha, fotosmall, id, epigrafe FROM noticias ORDER BY id DESC LIMIT 10");
  4. $noticia1 = mysql_query("SELECT id, noticia, titular, fecha, fotosmall, id, epigrafe FROM noticias ORDER BY id DESC LIMIT 10");
  5. if($row_not = mysql_fetch_row($noticias)){
  6.     while ($row = mysql_fetch_row($noticia1))
  7.     {  
  8.    
  9.     if($row[4] != NULL)
  10.         {
  11.         echo "<table width='480'>";
  12.         echo "<td width='140' height='140'>";
  13.         echo "<img width='140' height='140' src='$row[4]'>";
  14.         echo "</td>";
  15.         echo "<td width='10' height='140'>";
  16.         echo "</td>";}
  17.         echo "<td width='370'>";
  18.         echo "<a class='fecha'>$row[3]</a><br>";
  19.         if($row[6] != NULL)
  20.        {echo "<a class='subtitulos'>$row[6]</a><br>";}
  21.         echo "<a class='titulos'>$row[1]</a><br><br>";
  22.         echo "<a class='texto' href='noticiacompleta.php?id=$row[5]'>$row[2]</a>";
  23.         echo "</td>";
  24.         echo "</table>";
  25.         echo "<hr>";   
  26.     }
  27. }
  28. else {                 
  29.     echo "<a align='center' class='texto'>Actualizando Información...</a><br><br>";                                
  30. }
  31.  
  32.  
  33.  
  34. ?>

Mi problema es que 10 noticias son suficientes para verlas en pantalla, por eso las limité en 10, pero necesito poder paginarlas porque ya llevo 12 y no quiero tener un listado infinito hacia abajo...

Quiero saber algún script php para insertar en mi consulta sql para que se paginen las noticias de 10 en 10, pero que no haya que estar arreglándolo a medida que aumenta el número de noticias... cabe mencionar que estoy en proceso de aprendizaje de sql... si alguien pudiera ayudarme con esto le estaré eternamente agradecido...
  #2 (permalink)  
Antiguo 07/09/2010, 01:16
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Necesito insertar script php de paginación...

Este no es un problema de bases de datos... de hecho no se puede insertar un script php al sql. Lo que si se puede hacer es que php trate los datos recibidos del servidor de bbdd o que construya las sentencia sql en funcion de tus necesidades.

Podrias pedir todas las noticias a la vez y paginar en php, pero si el numero crece mucho la consulta tendria mucho coste.

La alternativa es lanzar distintas consultas a la bbdd en funcion de la pagina.
Para ello deberas usar parametros para pasar el contador de una peticion a otra

Limit 0,10 <-- los 10 primeros
Limit 10,10 <-- los 10 siguientes
...

Si te trasladan el post a php te podran ayudar mejor

fichero.php?contador=X

$contador=$_REQUEST["contador"];

$noticias = mysql_query("SELECT id, noticia, titular, fecha, fotosmall, id, epigrafe FROM noticias ORDER BY id DESC LIMIT ".$contador.",10");


echo "<a href='fichero.php?contador=".$contador+10.">Next.. .</a>";

Yo no usaria el ID para ordenar las noticias puesto que no lo controlas, seria mejor tener un campo con la fecha de publicación con lo que podras decidir que noticias se publican

ORDER BY fecha DESC


Quim

Etiquetas: paginacion, php, sql
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 05:27.