Foros del Web » Programando para Internet » PHP »

Arreglar paginacion

Estas en el tema de Arreglar paginacion en el foro de PHP en Foros del Web. no me sale lo de la paginacion nose por que? codigo: <? echo "</td></tr><tr><td colspan=5>"; if (($_POST[listar])) { if(!isset($_GET['pag'])){ $pag=1; }else{ $pag=$_GET['pag']; } $end=3; $ini=($end*$pag)-$end; ...
  #1 (permalink)  
Antiguo 11/06/2009, 12:52
 
Fecha de Ingreso: mayo-2009
Mensajes: 81
Antigüedad: 15 años
Puntos: 0
Arreglar paginacion

no me sale lo de la paginacion nose por que?

codigo:

<? echo "</td></tr><tr><td colspan=5>";
if (($_POST[listar])) {

if(!isset($_GET['pag'])){
$pag=1;
}else{
$pag=$_GET['pag'];
}
$end=3;
$ini=($end*$pag)-$end;
?>
<TABLE border=1 align="center" width="90%">
<TR align="center">
<TD>Eliminar</TD>
<TD>Codigo</TD>
<TD>Nombre</TD>
<TD>Direccion</TD>
<td>Precio Unidad</td>
<td>Precio antiguo</td>
<td>Foto</td>

<?php
$sqlsel = "select * from producto order by codigo asc";
$ressel = mysql_query($sqlsel);

echo "<FORM METHOD=POST ACTION='".$PHP_SELF."'>";

while ($fila = mysql_fetch_array($ressel)){
echo "<tr align='center'>";
echo " <td>";
echo " <INPUT TYPE='checkbox' NAME='ideliminar2[]' VALUE=".$fila[0].">";
echo " </td>";
echo " <td>";
echo $fila[0];
echo " </td>";
echo " <td>";
echo $fila[1];
echo " </td>";
echo " <td>";
echo $fila[2];
echo " </td>";
echo " <td>";
echo $fila[3];
echo " </td>";
echo " <td>";
echo $fila[4];
echo " </td>";

echo "<td align=center>";

$directorio = './prods/';

$extension = '.jpg';

$foto = $directorio.$fila[0].$extension;

if(file_exists($foto))

echo "<img src='$foto' height=75 weight=75/>";

else

echo '<img src="./images/imgnd.jpg"height=75 weight=75/>';


echo "</td>";
echo "</TR>";
echo "</tr>";
}

?>
</TR>
<?
echo "<tr>";
echo "<tr>";
echo " <th COLSPAN='7' ALIGN='CENTER'>";
$linea="select count(codigo) from producto";
$todo=mysql_query($linea);
$r2=mysql_fetch_row($todo);

$paginas=ceil($r2[0]/$end);

echo "p&aacute;gina [".$pag."] de [".$paginas."]<br>";

if($pag>1)
echo "<a href=\"prodcuto.php?pag=1\">|<<</a> <a href=\"producto.php?pag=".($pag-1)."\"><<</a> | ";

if($pag<$paginas)
echo " | <a href=\"prodcuto.php?pag=".($pag+1)."\">>></a> <a href=\"producto.php?pag=".($paginas)."\">>>|</a>";

mysql_free_result($todo);

echo " </th>";
echo "</tr>";
echo "</tr>";
echo "<tr>";
echo " <td COLSPAN=8>";
echo " <INPUT TYPE='submit' name='eliminar2' value='eliminar'>";
echo " </td>";
echo "</tr>";
echo "</FORM>";
?>
</TABLE>
<? }
echo "</td></tr>";
?>
  #2 (permalink)  
Antiguo 11/06/2009, 14:26
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 21 años, 2 meses
Puntos: 4
Respuesta: Arreglar paginacion

¿Tienes el codigo en algun sitio en linea?

¿donde falla tu paginacion?

Alomejor optimizar un poco ese codigo, creo que puedo ayudarte facilmente

Saludos.
__________________
Roberto Osses Elgueta
Senior Web Developer
  #3 (permalink)  
Antiguo 11/06/2009, 14:32
Avatar de Baleog  
Fecha de Ingreso: abril-2009
Ubicación: Medellin
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Arreglar paginacion

Pues según lo que veo en el código ( que para la próxima ves te recomiendo que uses las etiquetas code) estas pasando la variable $pag por GET y la capturas pero no la usas en tu consulta.

Busca algo sobre las instrucciones OFFSET y LIMIT de Mysql para que veas como debes hacer la consulta. Un saludo
  #4 (permalink)  
Antiguo 11/06/2009, 14:34
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: Arreglar paginacion

Esto te puede ayudar un poco http://www.forosdelweb.com/f18/aport...naevil-702554/
  #5 (permalink)  
Antiguo 11/06/2009, 15:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 81
Antigüedad: 15 años
Puntos: 0
Respuesta: Arreglar paginacion

estoy provando en con esto pero nose si me falta algo o que

$limite = round(($pag - 1) * 5);
$query = 'SELECT * FROM producto ORDER BY codigo LIMIT '.$limite.',5';

echo "p&aacute;gina [".$pag."] de [".$paginas."]<br>";
mysql_free_result($query);

Última edición por agnes20; 11/06/2009 a las 15:51
  #6 (permalink)  
Antiguo 11/06/2009, 16:16
Avatar de Baleog  
Fecha de Ingreso: abril-2009
Ubicación: Medellin
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Arreglar paginacion

Dime si es que no te funciona nada o solo una pagina o que, si me das un poco mas de información tal ves pueda ayudarte yo o cualquier otro usuario del foro.
  #7 (permalink)  
Antiguo 11/06/2009, 16:20
 
Fecha de Ingreso: mayo-2009
Mensajes: 81
Antigüedad: 15 años
Puntos: 0
Respuesta: Arreglar paginacion

le doy a >> me sale error eso por que?

Última edición por agnes20; 11/06/2009 a las 18:19
  #8 (permalink)  
Antiguo 12/06/2009, 03:42
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Arreglar paginacion

porque no especificas cual es el error que te sale?
  #9 (permalink)  
Antiguo 12/06/2009, 03:59
 
Fecha de Ingreso: mayo-2009
Mensajes: 81
Antigüedad: 15 años
Puntos: 0
Respuesta: Arreglar paginacion

el codigo este:
Código PHP:
$linea="select count(codigo) from producto";
                
$todo=mysql_query($linea);
                
$r2=mysql_fetch_row($todo);
                        
                
$paginas=ceil($r2[0]/$end);
                        
                echo 
"p&aacute;gina  [".$pag."]  de  [".$paginas."]<br>";
                        
                if(
$pag>1)
                    echo 
"<a href=\"prodcuto.php?pag=1\">|<<</a> <a href=\"producto.php?pag=".($pag-1)."\"><<</a> | ";
                        
                if(
$pag<$paginas)
                    echo 
" | <a href=\"prodcuto.php?pag=".($pag+1)."\">>></a> <a href=\"producto.php?pag=".($paginas)."\">>>|</a>";
            
                
mysql_free_result($todo); 
me sale esto de paginacion:

página [1] de [2]
| >> >>|

cuando le doy a >> error objeto no encontrado.
como podri poner limitar de numero para sacar por ejemplo solo 5 productos?
  #10 (permalink)  
Antiguo 12/06/2009, 07:15
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Arreglar paginacion

Agnes yo no te puedo ayudar mi novatez no me deja seguir jejejeje :P
  #11 (permalink)  
Antiguo 12/06/2009, 07:27
 
Fecha de Ingreso: mayo-2009
Mensajes: 81
Antigüedad: 15 años
Puntos: 0
Respuesta: Arreglar paginacion

ok gracias
  #12 (permalink)  
Antiguo 12/06/2009, 07:52
Avatar de AnisDelMono  
Fecha de Ingreso: febrero-2007
Ubicación: Pas de la Casa
Mensajes: 247
Antigüedad: 17 años, 2 meses
Puntos: 7
Respuesta: Arreglar paginacion

Hola

No acabo de entender esta sentencia:

Código PHP:
$paginas=ceil($r2[0]/$end); 
Aparte, por que pones la variable $paginas entre parentesis en la consulta? Aunque supongo que tampoco molesta.

Prueba dos cosas. Inserta este codigo:

Código PHP:
$paginas=ceil($r2[0]/$end);
echo 
$paginas
y luego esta url:

producto.php?pag=3

para comprobar que la variable tiene valor.

Aparte, puede ser que las barras esten invertidas. Prueba a poner las barras asi:"/"
__________________
=>=>=>=>=>=>=>=>=>=>=>=>=>
¡Disidente!
Frente Popular de Judea, Life of Brian
  #13 (permalink)  
Antiguo 12/06/2009, 08:04
 
Fecha de Ingreso: mayo-2009
Mensajes: 81
Antigüedad: 15 años
Puntos: 0
Respuesta: Arreglar paginacion

lo de las paginas es numero de paguinas que hay.
lo url nose donde ponerlo.
si cambio las barras da error.
  #14 (permalink)  
Antiguo 12/06/2009, 08:12
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Arreglar paginacion

oye revisando de nuevo el codigo... esto esta bien asi?

Código PHP:
if($pag>1)
                    echo 
"<a href=\"prodcuto.php?pag=1\">|<<</a> <a href=\"producto.php?pag=".($pag-1)."\"><<</a> | ";
                        
                if(
$pag<$paginas)
                    echo 
" | <a href=\"prodcuto.php?pag=".($pag+1)."\">>></a> <a href=\"producto.php?pag=".($paginas)."\">>>|</a>"
no sera asi?

Código PHP:
if($pag>1)
                    echo 
"<a href=\"producto.php?pag=1\">|<<</a> <a href=\"producto.php?pag=".($pag-1)."\"><<</a> | ";
                        
                if(
$pag<$paginas)
                    echo 
" | <a href=\"producto.php?pag=".($pag+1)."\">>></a> <a href=\"producto.php?pag=".($paginas)."\">>>|</a>"
fijate los href ponen prodcuto.php no sera producto.php?
  #15 (permalink)  
Antiguo 12/06/2009, 08:17
 
Fecha de Ingreso: mayo-2009
Mensajes: 81
Antigüedad: 15 años
Puntos: 0
Exclamación Respuesta: Arreglar paginacion

gracias ya me va a la pagina,lo que falta com podria poner limite de la lista para solo mesalieran 5 productos,
despuesla lista de los producto lo tengo hecho en una tabla, como podria hacer para solo se cambie la tabla??
tengo todo el codigo en una misma pagina.
  #16 (permalink)  
Antiguo 12/06/2009, 08:20
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Arreglar paginacion

no e entendido nada de lo que dices ahora jejeje pero lo otro que fue al final el error ese que te comente?
  #17 (permalink)  
Antiguo 12/06/2009, 08:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 81
Antigüedad: 15 años
Puntos: 0
Exclamación Respuesta: Arreglar paginacion

si, es q me cuentas explicarlas cosasXD

yo tengo una lista de productos en una tabla donde muestra todo los productos.

primero quiero si se puede solo aparecan 5 productos en cada pagina.

segundo si solo puede cambiar la tabla no la pagina.
  #18 (permalink)  
Antiguo 12/06/2009, 08:32
Avatar de rompeguesos  
Fecha de Ingreso: marzo-2009
Mensajes: 692
Antigüedad: 15 años, 1 mes
Puntos: 8
Respuesta: Arreglar paginacion

ejejje sigo sin comprenderlo, haber la paginacion no te hace eso de limitarte la cantidad de productos que muestras y si son mas de los que has indicado los pasa a otra pagina?
  #19 (permalink)  
Antiguo 12/06/2009, 08:39
 
Fecha de Ingreso: mayo-2009
Mensajes: 81
Antigüedad: 15 años
Puntos: 0
Exclamación Respuesta: Arreglar paginacion

si pero tambien hay para psar tablas
  #20 (permalink)  
Antiguo 12/06/2009, 08:40
 
Fecha de Ingreso: mayo-2006
Mensajes: 58
Antigüedad: 18 años
Puntos: 0
Respuesta: Arreglar paginacion

http://php.about.com/od/mysqlcommands/g/Limit_sql.htm

En es link puedes ver como funciona el limit, el primer argumento indica donde vas a empezar a buscar las filas, por ejemplo si pones limit 5,10, empieza a mostrar en la fila 5 y termina en la 10.

http://www.desarrolloweb.com/articulos/1035.php

En ese otro link puedes ver como funciona la paginación, cuales son los argumentos que debe llevar tu sentencia de mysql, así vas a poder ver que es lo que te hace falta en tu query.
  #21 (permalink)  
Antiguo 12/06/2009, 09:10
Avatar de Baleog  
Fecha de Ingreso: abril-2009
Ubicación: Medellin
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Arreglar paginacion

Y para lo que quieres que recargue solamente la tabla tendrías que utilizar una técnica como AJAX, con PHP solamente es obligatorio recargar la pagina completa, a menos que uses IFRAMES lo cual yo no recomendaría ya que no me parece una buena técnica de programación, aunque claro cada quien se rasca como quiere.
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:39.