Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/10/2010, 08:57
web33
 
Fecha de Ingreso: septiembre-2010
Mensajes: 75
Antigüedad: 13 años, 7 meses
Puntos: 0
Ayuda con paginacion de resultados mysql

Hola amigos, porfabor necesito ayuda sobre este codigo que no me hace bien la paginacion, llevo mucho tiempo intentando arreglarlo pero NADA..

Os pongo aqui el codigo aver si alguien me puede ayudar, os lo agredezco mucho
Gracias

<?php

require 'config.php' ;

$maximo_consulta = 4;
$iniciar_consulta = 0;
if (isset($_GET['iniciar_consulta'])) {
$iniciar_consulta = $_GET['iniciar_consulta'];
}
$empezar_fila = $iniciar_consulta * $maximo_consulta;
mysql_select_db($database, $conectar);
$consulta1 = "SELECT foto,titulo,direction,categorie,telecharger,share FROM album ORDER BY id desc";

//creamos las variables básicas del paginador
$maximo_resultados = 4;
$numero_pagina = 0;
//si existe un valor en el url lo guardamos en la variable $numero_pagina

if (isset($_GET['numero_pagina'])) {
$numero_pagina = $_GET['numero_pagina'];
}
//guardamos los valores de las variables en una sola
//$mostrar_resultados = $iniciar_consulta * $maximo_consulta;
$mostrar_resultados = $numero_pagina * $maximo_resultados;
// conectamos a la BD
mysql_select_db($database, $conectar);

//añadimos las variables de URL necesarias
$query_limit_resultados = sprintf("%s LIMIT %d, %d", $consulta1, $mostrar_resultados, $maximo_resultados);
$rsTablaPersonalizada = mysql_query($query_limit_resultados, $conectar) or die(mysql_error());
$row_rsTablaPersonalizada = mysql_fetch_assoc($rsTablaPersonalizada);
//Si la consulta trae resultados lo almacenamos en la variable $total_resultados
if (isset($_GET['total_resultados'])) {
$total_resultados = $_GET['total_resultados'];
} else {
$all_resultados = mysql_query($consulta1);
$total_resultados = mysql_num_rows($all_resultados);
}
//si algún valor esta en fracción lo redondeamos al número mayor y restamos 1 para la pag. de inicio
$totalPaginas_resultados = ceil($total_resultados/$maximo_resultados)-1;
// almacenamos los resultados como strings
$string_resultados = "";
// creamos los parámetros de la URL: numero_pagina y total_resultados
if (!empty($_SERVER['QUERY_STRING'])) {
$parametros = explode("&", $_SERVER['QUERY_STRING']);
$newparametros = array();
foreach ($parametros as $param) {
if (stristr($param, "numero_pagina") == false &&
stristr($param, "total_resultados") == false) {
array_push($newparametros, $param);
}
}
if (count($newparametros) != 0) {
$string_resultados = "&" . htmlentities(implode("&", $newparametros));
}
}
$string_resultados = sprintf("&total_resultados=%d%s", $total_resultados, $string_resultados);

?>
<?php


// Fila 1
$limite_fila1 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila, $maximo_consulta);
$resultado1 = mysql_query($limite_fila1, $conectar) or die(mysql_error());
$fila1 = mysql_fetch_assoc($resultado1);

$limite_fila2 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila, $maximo_consulta);
$resultado2 = mysql_query($limite_fila2, $conectar) or die(mysql_error());
$fila2 = mysql_fetch_assoc($resultado2);

$limite_fila4 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila, $maximo_consulta);
$resultado4 = mysql_query($limite_fila4, $conectar) or die(mysql_error());
$fila4 = mysql_fetch_assoc($resultado4);

// Fila 2
$limite_fila5 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+4, $maximo_consulta);
$resultado5 = mysql_query($limite_fila5, $conectar) or die(mysql_error());
$fila5 = mysql_fetch_assoc($resultado5);

$limite_fila6 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+4, $maximo_consulta);
$resultado6 = mysql_query($limite_fila6, $conectar) or die(mysql_error());
$fila6 = mysql_fetch_assoc($resultado6);

$limite_fila7 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+4, $maximo_consulta);
$resultado7 = mysql_query($limite_fila7, $conectar) or die(mysql_error());
$fila7 = mysql_fetch_assoc($resultado7);

// Fila 3
$limite_fila8 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+8, $maximo_consulta);
$resultado8 = mysql_query($limite_fila8, $conectar) or die(mysql_error());
$fila8 = mysql_fetch_assoc($resultado8);

$limite_fila9 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+8, $maximo_consulta);
$resultado9 = mysql_query($limite_fila9, $conectar) or die(mysql_error());
$fila9 = mysql_fetch_assoc($resultado9);

$limite_fila10 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+8, $maximo_consulta);
$resultado10 = mysql_query($limite_fila10, $conectar) or die(mysql_error());
$fila10 = mysql_fetch_assoc($resultado10);

?>



<TABLE border="0">

<!-- 1ra FILA -->
<tr>
<?php do { ?>
<td bgcolor="#424242" width="150"><a href="javascript:popup('<?php echo $fila1['direction']; ?>')"><img border="0" src="<?php echo $fila1['foto']; ?>" width="152" height="120"></a></td>
<?php } while ($fila1 = mysql_fetch_assoc($resultado1)); ?>
</tr>

<tr>
<?php do { ?>
<td width="150" style="border-left:1px solid #424242; border-right:1px solid #424242;" valign="top" align="center"><font face="Trebuchet MS" size="2" color="#6e6eFF"><?php echo $fila2['titulo']; ?></font></td>
<?php } while ($fila2 = mysql_fetch_assoc($resultado2)); ?>
</tr>

<tr>
<?php do { ?>
<td width="150" align="center" style="border-left:1px solid #424242; border-right:1px solid #424242;"><a target="new" href="<?php echo $fila4['telecharger']; ?>"><font face="Trebuchet MS" color="#D1F1D2" size="2">TELECHARGER EN MP3</font></a></td>
<?php } while ($fila4 = mysql_fetch_assoc($resultado4)); ?>
</tr>

<tr><td> &nbsp; </td></tr>

<!-- 2na FILA -->
<tr>
<?php do { ?>
<td width="150" bgcolor="#424242"><a href="javascript:popup('<?php echo $fila5['direction']; ?>')"><img border="0" src="<?php echo $fila5['foto']; ?>" width="152" height="120"></a></td>
<?php } while ($fila5 = mysql_fetch_assoc($resultado5)); ?>
</tr>

<tr>
<?php do { ?>
<td width="150" style="border-left:1px solid #424242; border-right:1px solid #424242;" valign="top" align="center"><font face="Trebuchet MS" size="2" color="#6e6eFF"><?php echo $fila6['titulo']; ?></font></td>
<?php } while ($fila6 = mysql_fetch_assoc($resultado6)); ?>
</tr>

<tr>
<?php do { ?>
<td width="150" align="center" style="border-left:1px solid #424242; border-right:1px solid #424242;"><a target="new" href="<?php echo $fila7['telecharger']; ?>"><font face="Trebuchet MS" color="#D1F1D2" size="2">TELECHARGER EN MP3</font></a></td>
<?php } while ($fila7 = mysql_fetch_assoc($resultado7)); ?>
</tr>

<tr><td> &nbsp; </td></tr>

<!-- 3ra FILA -->
<tr>
<?php do { ?>
<td width="150" bgcolor="#424242"><a href="javascript:popup('<?php echo $fila8['direction']; ?>')"><img border="0" src="<?php echo $fila8['foto']; ?>" width="152" height="120"></a></td>
<?php } while ($fila8 = mysql_fetch_assoc($resultado8)); ?>
</tr>

<tr>
<?php do { ?>
<td width="150" style="border-left:1px solid #424242; border-right:1px solid #424242;" valign="top" align="center"><font face="Trebuchet MS" size="2" color="#6e6eFF"><?php echo $fila9['titulo']; ?></font></td>
<?php } while ($fila9 = mysql_fetch_assoc($resultado9)); ?>
</tr>

<tr>
<?php do { ?>
<td width="150" align="center" style="border-left:1px solid #424242; border-right:1px solid #424242;"><a target="new" href="<?php echo $fila10['telecharger']; ?>"><font face="Trebuchet MS" color="#D1F1D2" size="2">TELECHARGER EN MP3</font></a></td>
<?php } while ($fila10 = mysql_fetch_assoc($resultado10)); ?>
</tr>

<tr><td> &nbsp; </td></tr>


</TABLE>
<?php

while ($row_rsTablaPersonalizada = mysql_fetch_assoc($rsTablaPersonalizada));
echo "</table>" ;
?>
<table border="1" align="left">
<tr>
<td align="left">
<?php
//Creamos la Barra de Navegación
//utilizamos la función max para motrar los 50 valores anteriores al valor máximo
$pagNum_tmp = max(0, $numero_pagina-50);
for ($pagNum_i=$pagNum_tmp+1;$pagNum_i<=$numero_pagina ;$pagNum_i++) {
//páginas previas
?>
<a href="<?php printf ("%s?numero_pagina=%d%s", $HTTP_SERVER_VARS["PHP_SELF"], $pagNum_i-1, $string_resultados); ?>"><?php echo $pagNum_i; ?></a>
<?php
}
?>
</td>
<td><strong><?php
// página actual
echo $numero_pagina+1; ?></strong></td>
<td><?php
$pagNum_tmp = min($numero_pagina+1+50, $totalPaginas_resultados+1);
for ($pagNum_i=$numero_pagina+2;$pagNum_i<=$pagNum_tmp ;$pagNum_i++) {
// páginas siguientes
?>
<a href="<?php printf ("%s?numero_pagina=%d%s", $HTTP_SERVER_VARS["PHP_SELF"], $pagNum_i-1, $string_resultados); ?>"><?php echo $pagNum_i; ?></a>
<?php
}
?>
</td>
</tr>
</table>
<?php
//liberamos memoria
mysql_free_result($rsTablaPersonalizada);
?>