Foros del Web » Programando para Internet » PHP »

paginador sencillo no funciona ??!!

Estas en el tema de paginador sencillo no funciona ??!! en el foro de PHP en Foros del Web. Lo he colocado asi, pero no funciona, IMAGINO QUE NO LO HE REESTRUCTURADO BIEN...??!!: // Datos de conexión a la base $base="mibase"; $con=mysql_connect("localhost","mibase","X"); mysql_select_db($base,$con); if ...

  #31 (permalink)  
Antiguo 02/09/2008, 07:12
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: paginador sencillo no funciona ??!!

Lo he colocado asi, pero no funciona, IMAGINO QUE NO LO HE REESTRUCTURADO BIEN...??!!:

// Datos de conexión a la base
$base="mibase";
$con=mysql_connect("localhost","mibase","X");
mysql_select_db($base,$con);

if (!isset($_GET['pg'])) $pg=2;
else $pg =$_GET['pg'];
$cantidad=1; // cantidad de resultados (fotos )por página
$inicial = $pg * $cantidad;

$pegar = "SELECT * FROM fotos ORDER BY fotoid LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());

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

$nPgs = 10 //por ejemplo
if(($inicio + $nPgs) > $nPag) $nPgs = $nPag;
$result = mysql_query("select count(fotoid) as paginas from fotos", $conexoin);
$row= mysql_fetch_assoc($result);
if($row['paginas']%10){$nPag = $row['paginas']/$Cantidad +1;}
else {$nPag = $row['paginas']/$cantidad;}
for($i=$pg; $i < $nPgs; $i++){...}


// Imprimiendo los resultados
while($array = mysql_fetch_array($cad)) {
echo "<img src='subir-fotos-personal/diapositivas/$array[foto]'/>";
echo $array['foto']."<br>";
  #32 (permalink)  
Antiguo 02/09/2008, 07:54
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: paginador sencillo no funciona ??!!

hay una errata en el código :S pero de todas maneras lo que te indicaba era orientativo, no que puesieras eso y ya está:

//cambia
if(($inicio + $nPgs) > $nPag) $nPgs = $nPag;
//por
if(($pg + $nPgs) > $nPag) $nPgs = $nPag;

//esto...
$result = mysql_query("select count(fotoid) as paginas from fotos", $conexoin);
//por
$result = mysql_db_query($base,"select count(fotoid) as paginas from fotos");

//y esto tb
if($row['paginas']%10){$nPag = $row['paginas']/$Cantidad +1;}
//por
if($row['paginas']%$Cantidad){$nPag = $row['paginas']/$Cantidad +1;}


quedando así:

Código PHP:
<? 
// Datos de conexión a la base 
$base="mibase"
$con=mysql_connect("localhost","mibase","X"); 
mysql_select_db($base,$con); 

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

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

$contar "SELECT * FROM fotos ORDER BY fotoid"
$contarokmysql_db_query($base,$contar); 
$total_records mysql_num_rows($contarok); 

$nPgs 10 //por ejemplo
if(($pg $nPgs) > $nPag$nPgs $nPag;
$result mysql_db_query($base,"select count(fotoid) as paginas from fotos");
$rowmysql_fetch_assoc($result);
if(
$row['paginas']%$Cantidad){$nPag $row['paginas']/$Cantidad +1;}
else {
$nPag $row['paginas']/$Cantidad;}


// Imprimiendo los resultados 
while($array mysql_fetch_array($cad)) { 
echo 
"<img src='subir-fotos-personal/diapositivas/$array[foto]'/>"


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

// Creando los enlaces de paginación 
echo "<p>"
//ANTERIOR
if ($pg <> 0

$url $pg 1
echo 
"<a href='diap-usuarios-provaaaa6.php?pg=".$url."'>« Anterior</a> "

else { 
echo 
" "

// 1 2 3 4 5 6...
for($i=$pg$i $nPgs$i++){ 
if (
$i == $pg) { 
echo 
"<font face=Arial size=2 color=ff0000><b> $i </b></font>"

else { 
echo 
"<a href='diap-usuarios-provaaaa6.php?pg=".$i."'>"$i ."</a> "


//SIGUIENTE
if($pg != $nPag) {$url=$pg+1; echo "<a href='diap-usuarios-provaaaa6.php?pg=".$url."'>siguiente</a>";}
echo 
"</p>"
?>
Espero que te sirva. (=D)
  #33 (permalink)  
Antiguo 02/09/2008, 08:39
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: paginador sencillo no funciona ??!!

Gracias por tu aportacion, he provado, pero me sale error en esta linea:

if(($pg + $nPgs) > $nPag) $nPgs = $nPag;
  #34 (permalink)  
Antiguo 03/09/2008, 00:49
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: paginador sencillo no funciona ??!!

ponlo así

if(($pg + $nPgs) > $nPag){$nPgs = $nPag;}
  #35 (permalink)  
Antiguo 03/09/2008, 02:05
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: paginador sencillo no funciona ??!!

Me sigue dando error en la misma linea: me sale error de sintaxi

if(($pg + $nPgs) > $nPag){$nPgs = $nPag;}
  #36 (permalink)  
Antiguo 03/09/2008, 03:49
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: paginador sencillo no funciona ??!!

$suma = $pg + $nPgs;
if($suma > $nPgs) $nPgs = $nPag;
  #37 (permalink)  
Antiguo 03/09/2008, 04:33
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: paginador sencillo no funciona ??!!

error en:

$suma = $pg + $nPgs;
  #38 (permalink)  
Antiguo 03/09/2008, 04:37
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: paginador sencillo no funciona ??!!

este era el error jeje :D

$nPgs = 10; //por ejemplo
  #39 (permalink)  
Antiguo 03/09/2008, 05:18
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: paginador sencillo no funciona ??!!

Ahora si funciona, pero solo me sale:
"Anterior i siguiente" para paginar, no me sale los numeros de 1 2 3 4 5 6 7 8 9 para paginar
  #40 (permalink)  
Antiguo 03/09/2008, 05:25
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: paginador sencillo no funciona ??!!

solo me salen los numeros para paginar si estoy en el "fotoid=0"
  #41 (permalink)  
Antiguo 03/09/2008, 05:42
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: paginador sencillo no funciona ??!!

comprueba lo del $_GET u nmomento

y cambia:

$suma = $pg + $nPgs;
if($suma > $nPgs) $nPgs = $nPag;

por:

$suma = $pg + $nPgs;
if($suma > $nPag) $nPgs = $nPag -$pg;
  #42 (permalink)  
Antiguo 03/09/2008, 09:37
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: paginador sencillo no funciona ??!!

Ahora no me sale error, pero no me sale la paginacion 1 2 3 4 5 6 7 8 9 y ademas, cuando esta en la "fotoid=1" no muestra ningun acceso de siguiente ni anterior ni paginacion.
  #43 (permalink)  
Antiguo 04/09/2008, 00:49
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: paginador sencillo no funciona ??!!

¿cuantas fotos tienes metidas en la tabla?
  #44 (permalink)  
Antiguo 04/09/2008, 01:21
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: paginador sencillo no funciona ??!!

Hay 21 fotos en la tabla o mejor dicho, hay 21 fotoid
  #45 (permalink)  
Antiguo 04/09/2008, 01:33
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: paginador sencillo no funciona ??!!

pásame el código actual
  #46 (permalink)  
Antiguo 05/09/2008, 02:20
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: paginador sencillo no funciona ??!!

Aqui lo tienes:

diap-usuarios-provaaaa4.php :

<?
// Datos de conexión a la base
$base="mibase";
$con=mysql_connect("localhost","mibase","X");
mysql_select_db($base,$con);

if (!isset($_GET['pg'])) $pg=1;
else $pg =$_GET['pg'];
$cantidad=1; // cantidad de resultados (fotos )por página
$inicial = $pg * $cantidad;

$pegar = "SELECT * FROM fotos ORDER BY fotoid LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());

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


$nPgs = 50; //por ejemplo
$suma = $pg + $nPgs;
if($suma > $nPag) $nPgs = $nPag -$pg;
$result = mysql_db_query($base,"select count(fotoid) as paginas from fotos");
$row= mysql_fetch_assoc($result);
if($row['paginas']%$Cantidad){$nPag = $row['paginas']/$Cantidad +1;}
else {$nPag = $row['paginas']/$Cantidad;}

// Creando los enlaces de paginación
echo "<p>";
//ANTERIOR
if ($pg <> 0)
{
$url = $pg - 1;
echo "<a href='diap-usuarios-provaaaa4.php?pg=".$url."'>« Anterior</a> ";
}
else {
echo " ";
}
// 1 2 3 4 5 6...
for($i=$pg; $i < $nPgs; $i++){
if ($i == $pg) {
echo "<font face=Arial size=2 color=ff0000><b> $i </b></font>";
}
else {
echo "<a href='diap-usuarios-provaaaa4.php?pg=".$i."'>". $i ."</a> ";
}
}
//SIGUIENTE
if($pg != $nPag) {$url=$pg+1; echo "<a href='diap-usuarios-provaaaa4.php?pg=".$url."'>siguiente</a>";}
echo "</p>";


// Imprimiendo los resultados
while($array = mysql_fetch_array($cad)) {
echo "<img src='subir-fotos-personal/diapositivas/$array[foto]'/>";
echo $array['nombre']."<br>";
}

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


?>
</strong></em>
  #47 (permalink)  
Antiguo 05/09/2008, 02:33
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: paginador sencillo no funciona ??!!

haber, por partes:

Cita:
for($i=$pg; $i < $nPgs; $i++){
if ($i == $pg) {
echo "<font face=Arial size=2 color=ff0000><b> $i </b></font>";
}
else {
echo "<a href='diap-usuarios-provaaaa4.php?pg=".$i."'>". $i ."</a> ";
}
}
cámbialo por:

Cita:
echo '<font face="Arial" size="2" color="#ff0000"><b> '.$pg.' </b></font>'; //esta será siempre la primera
for($i=$pg+1; $i < $nPgs; $i++){
echo "<a href='diap-usuarios-provaaaa4.php?pg=".$i."'>". $i ."</a> ";
}

esto lo puedes quitar (siempre que no lo uses luego) :

Cita:
$contar = "SELECT * FROM fotos ORDER BY fotoid";
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);
  #48 (permalink)  
Antiguo 08/09/2008, 04:48
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: paginador sencillo no funciona ??!!

Gracias, pero no sale bien, al previsualizar me sale todo el codigo:

me sale esto:

$nPag) $nPgs = $nPag -$pg; $result = mysql_db_query($base,"select count(fotoid) as paginas from fotos"); $row= mysql_fetch_assoc($result); if($row['paginas']%$Cantidad){$nPag = $row['paginas']/$Cantidad +1;} else {$nPag = $row['paginas']/$Cantidad;} // Creando los enlaces de paginación echo "

"; //ANTERIOR if ($pg <> 0) { $url = $pg - 1; echo "« Anterior "; } else { echo " "; } // 1 2 3 4 5 6... echo ' '.$pg.' '; //esta será siempre la primera for($i=$pg+1; $i < $nPgs; $i++){ echo "". $i ." "; } //SIGUIENTE if($pg != $nPag) {$url=$pg+1; echo "siguiente";} echo "

"; // Imprimiendo los resultados while($array = mysql_fetch_array($cad)) { echo ""; echo $array['nombre']."
"; } // Cerramos la conexión a la base $con=mysql_close($con); ?>
  #49 (permalink)  
Antiguo 08/09/2008, 04:55
 
Fecha de Ingreso: agosto-2008
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: paginador sencillo no funciona ??!!

¿¿¿¿Como que te sale ese código ???? ¿como texto plano? qué raro, si sale así puede ser por dos razones:
1 código fuera de bloque código.
2 echo no cerrado que te toma todo como texto plano
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:54.