Foros del Web » Programando para Internet » PHP »

Problemas Con La Paginacion

Estas en el tema de Problemas Con La Paginacion en el foro de PHP en Foros del Web. HOLA AMIGOS FELIZ AÑO NUEVO. EL PROBLEMA KE TENGO CON LA PAGINACION ES KE NO ME MUESTRA LA SECUENCIA DE NUMEROS O SEA 1 2 ...
  #1 (permalink)  
Antiguo 02/01/2006, 07:56
Avatar de calavera  
Fecha de Ingreso: diciembre-2005
Mensajes: 113
Antigüedad: 18 años, 3 meses
Puntos: 0
Exclamación Problemas Con La Paginacion



HOLA AMIGOS FELIZ AÑO NUEVO.

EL PROBLEMA KE TENGO CON LA PAGINACION ES KE NO ME MUESTRA LA SECUENCIA DE NUMEROS O SEA 1 2 3 4 5 6 7, ETC, ME ESTA MOSTRANDO DE LA SGTE FORMA 1 2 4 Siguiente»

ESTE ES MI CODIGO DE PAGINAR ESPERO KE ME PUEDAN AYUDAR NUEVAMENTE


$base="Test";
$link=mysql_connect("localhost","root");
mysql_select_db($base,$link);
if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=3; // cantidad de resultados por página
$inicial = $pg * $cantidad;

$pegar = ("SELECT * FROM Equipos ORDER BY Id_Equipos LIMIT $inicial,$cantidad");
$result = mysql_db_query($base,$pegar) or die (mysql_error());

$contar = ("SELECT * FROM Equipos ORDER BY Id_Equipos");
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);


echo ("<p class=fonty center>");

if ($pg != 0) {
$url = $pg - 1;
echo ("<a href='$PHP_SELF?pg=".$url."'>&laquo;Anterior</a>");
}
else {
echo (" ");
}
for ($i = 0; $i <= $pages; $i++) {
if ($i == $pg) {
if ($i == "0") {
echo ("<b> 1 </b>");
}
else {
$i = $i+1;
echo ("<b> ".$i." </b>");
}
}
else {
if ($i == "0") {
echo ("<a href='$PHP_SELF?pg=".$i."'>1</a> ");
}
else {
echo ("<a href='$PHP_SELF?pg=".$i."'>");
$i = $i+1;
echo (" ".$i." </a>");
}
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo ("<a href='$PHP_SELF?pg=".$url."'>Siguiente&raquo;</a>");
}
else {
echo (" ");
}
echo ("</p>");
  #2 (permalink)  
Antiguo 02/01/2006, 08:31
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
El problema lo tienes en el for, donde sumas dos veces. Creo que se solucionaría así:
Código PHP:
for ($i 0$i <= $pages$i++) {
  if (
$i == $pg) {
    if (
$i == "0") {
      echo (
"<b> 1 </b>");
    }
    else {
      
$i $i+1;
      echo (
"<b> ".$i." </b>");
      
$i $i-1;
    }
  }
  else {
    if (
$i == "0") {
      echo (
"<a href='$PHP_SELF?pg=".$i."'>1</a> ");
    }
    else {
      echo (
"<a href='$PHP_SELF?pg=".$i."'>");
      
$i $i+1;
      echo (
" ".$i." </a>");
      
$i $i-1;
    }
  }

Sin embargo no es como yo lo paginaría... es un parche nomás
  #3 (permalink)  
Antiguo 03/01/2006, 12:29
Avatar de calavera  
Fecha de Ingreso: diciembre-2005
Mensajes: 113
Antigüedad: 18 años, 3 meses
Puntos: 0
De acuerdo Gracias por la Gran ayuda

Estabas en lo correcto, el porblema estaba en el ciclo for, con lo cual lo modifique y me kedo filete.


muchas gracias amigo



Última edición por Cluster; 03/01/2006 a las 12:53
  #4 (permalink)  
Antiguo 03/01/2006, 13:06
 
Fecha de Ingreso: diciembre-2005
Mensajes: 165
Antigüedad: 18 años, 3 meses
Puntos: 4
No entiendo esto:

$i = $i+1;
echo (" ".$i." </a>");
$i = $i-1;

No seria lo mismo?

echo (" ".$i+1."</a>");
  #5 (permalink)  
Antiguo 03/01/2006, 13:44
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
Fijate esto
Código PHP:
<?php
$i 
2;
echo (
" ".$i 1."</a>"); 
// devuelve 
// Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in d:\www\a.php on line 3
?>
Se podría hacer
Código PHP:
<?php
$i 
2;
echo (
" ");
echo (
$i 1);
echo (
"</a>"); 
?>
  #6 (permalink)  
Antiguo 03/01/2006, 14:05
 
Fecha de Ingreso: diciembre-2005
Mensajes: 165
Antigüedad: 18 años, 3 meses
Puntos: 4
O asi:

echo (" ".($i + 1)."</a>");
  #7 (permalink)  
Antiguo 03/01/2006, 14:10
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
xD
La respuesta es simple.... no lo sabía
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 03:12.