Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/04/2007, 22:51
Avatar de chalchis
chalchis
 
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta Re: paginar listado en dos columnas

encontre una solucion pero como que no soy bueno en matematicas aqui les pongo

<?php
///////////////////////////////////////////////////////////////////////////////
/////////////------------BaluArt.net----------------------------///////////////
///////////////////////////////////////////////////////////////////////////////

// Este código debes de MODIFICAR: Te conectas a la Base de Datos
$hostname_connBlog = "localhost"; // host de la base de datos
$database_connBlog = "web"; // nombre de la base de datos
$username_connBlog = "root"; // nombre de usuario
$password_connBlog = ""; // contraseña
///////////////////////////////////////////////////////////////////////////////
$connBlog = mysql_pconnect($hostname_connBlog, $username_connBlog, $password_connBlog) or trigger_error(mysql_error(),E_USER_ERROR);
?>

<?php
$currentPage = $_SERVER["PHP_SELF"];
// asignas los valores que vas a mostrar en la paginación
$maximo_consulta = 2;
$iniciar_consulta = 0;
if (isset($_GET['iniciar_consulta']))
{
$iniciar_consulta = $_GET['iniciar_consulta'];
}
$empezar_fila = $iniciar_consulta * $maximo_consulta; // defines desde que row empieza la paginación
//$empezar_fila_cero = $empezar_fila; // defines desde que row empieza la paginación
/////////////MODIFICA EL NOMBRE DE LA TABLA Y CAMPOS ////////////////////////////////////
// realizas la consulta a la BD y almacenas los límites de la consulta en 3 variables distintas (pueden ser más)
/////////////////////////////////////////////////////////////////////////////////////////
mysql_select_db($database_connBlog, $connBlog);
$consulta1 = "SELECT id, imagen FROM tabla ORDER BY id DESC";


$limite_fila_cero = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila, $maximo_consulta_cero);
$resultado_cero = mysql_query($limite_fila_cero, $connBlog) or die(mysql_error());
$fila_cero = mysql_fetch_assoc($resultado_cero);
echo "fila 0:".$limite_fila_cero."<br>";



$limite_fila1 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+1, $maximo_consulta);
$resultado1 = mysql_query($limite_fila1, $connBlog) or die(mysql_error());
$fila1 = mysql_fetch_assoc($resultado1);
echo "fila 1:".$limite_fila1."<br>";

$limite_fila2 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+3, $maximo_consulta);
$resultado2 = mysql_query($limite_fila2, $connBlog) or die(mysql_error());
$fila2 = mysql_fetch_assoc($resultado2);
echo "fila 2:".$limite_fila2."<br>";

$limite_fila3 = sprintf("%s LIMIT %d, %d", $consulta1, $empezar_fila+5, $maximo_consulta);
$resultado3 = mysql_query($limite_fila3, $connBlog) or die(mysql_error());
$fila3 = mysql_fetch_assoc($resultado3);
echo "fila 3:".$limite_fila3."<br>";

// consigues la variable transmitida por la URL
if (isset($_GET['total_de_resultados']))
{
$total_de_resultados = $_GET['total_de_resultados'];
}
else
{
$all_resultado1 = mysql_query($consulta1);
$total_de_resultados = mysql_num_rows($all_resultado1);
}
$totalPages_resultado1 = ceil($total_de_resultados/$maximo_consulta)-1;

$queryString_resultado1 = "";
if (!empty($_SERVER['QUERY_STRING']))
{
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param)
{
if (stristr($param, "iniciar_consulta") == false && stristr($param, "total_de_resultados") == false)
{
array_push($newParams, $param);
}
}
if (count($newParams) != 0)
{
$queryString_resultado1 = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_resultado1 = sprintf("&total_de_resultados=%d%s", $total_de_resultados, $queryString_resultado1);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Mostrar Resultados Horizontalmente y Paginados con PHP y MySQL</title>
<style type="text/css">
body{background-color: #666666; font: 13px Arial, Helvetica, sans-serif;}
h1{color: #FFFFFF; font: 18px Arial, Helvetica, sans-serif}
h2 {font: 14px Arial, Helvetica, sans-serif}
p { color:#FFFFFF;}
.borde{background-color:#FFFFCC; border: 1px solid #000000}
.numeros {border: 2px solid #999999; text-align:center;}
.paginador { font-weight:bold; text-decoration:none;}
a:link, a:visited { color: #FFFFFF; text-decoration: none;font-weight:bold; }
a:hover, a:active { color: #FF9900; text-decoration: none;font-weight:bold; }
</style>
</head>
<body>
<div align="center">
<h1><a href="http://www.baluart.net/articulo.php?id_art=91">Mostrar Resultados Horizontalmente y Paginados con PHP y MySQL</a></h1>



<?php

//en caso de borrar seria esto
echo '<table width="398" border="1">';

echo '<tr>';
do {
echo '<td colspan="2">';
echo '<table width="190" border="0" cellspacing="0" cellpadding="0">';
echo '<tr>';
echo '<td height="0"></td>';
echo '</tr>';
echo '<tr>';
echo '<td class="nota_texto_segundos"><span class="marquito"><img src="Image_nota/dosa.gif" width="60" height="58" /></span> <span class="tit_nota_segundo">'.$fila_cero['imagen'].'</span><br/>
';
echo '</td>';
echo '</tr>';
echo '</table>';
echo '</td>';
echo '</tr>';
}
while ($fila_cero = mysql_fetch_assoc($resultado_cero));

echo '<tr>';
do {
echo '<td>';
echo '<table width="190" border="0" cellspacing="0" cellpadding="0">';
//do {
echo '<tr>';
echo '<td height="0"></td>';
echo '</tr>';
echo '<tr>';
echo '<td class="nota_texto_segundos"><span class="marquito"><img src="Image_nota/dosa.gif" width="60" height="58" /></span> <span class="tit_nota_segundo">'.$fila1['imagen'].'</span><br/>
';
echo '</td>';
echo '</tr>';
/*}
while ($fila1 = mysql_fetch_assoc($resultado1));*/
echo '</table>';
echo '</td>';


}
while ($fila1 = mysql_fetch_assoc($resultado1));
echo '</tr>';

echo '<tr>';
do {
echo '<td>';
echo '<table width="190" border="0" cellspacing="0" cellpadding="0">';
//do {
echo '<tr>';
echo '<td height="0"></td>';
echo '</tr>';
echo '<tr>';
echo '<td class="nota_texto_segundos"><span class="marquito"><img src="Image_nota/dosa.gif" width="60" height="58" /></span> <span class="tit_nota_segundo">'.$fila2['imagen'].'</span><br/>
';
echo '</td>';
echo '</tr>';
/*}
while ($fila2 = mysql_fetch_assoc($resultado2));*/
echo '</table>';
echo '</td>';
}
while ($fila2 = mysql_fetch_assoc($resultado2));
echo '</tr>';

echo '<tr>';
do {
echo '<td>';
echo '<table width="190" border="0" cellspacing="0" cellpadding="0">';
//do {
echo '<tr>';
echo '<td height="0"></td>';
echo '</tr>';
echo '<tr>';
echo '<td class="nota_texto_segundos"><span class="marquito"><img src="Image_nota/dosa.gif" width="60" height="58" /></span> <span class="tit_nota_segundo">'.$fila3['imagen'].'</span><br/>
';
echo '</td>';
echo '</tr>';
/*}
while ($fila3 = mysql_fetch_assoc($resultado3));*/
echo '</table>';
echo '</td>';
}
while ($fila3 = mysql_fetch_assoc($resultado3));
echo '</tr>';
echo '</table>';

?>

<table border="0" align="center">
<tr>
<td align="center">
<div align="center">
<?php if ($iniciar_consulta > 0) { // Se muestra si no es la primera página ?>
<a href="<?php printf("%s?iniciar_consulta=%d%s", $currentPage, 0, $queryString_resultado1); ?>" class="paginador">Primero</a>
<?php } // Se muestra si no es la primera página ?>
</div></td>
<td align="center">
<div align="center">
<?php if ($iniciar_consulta > 0) { // Se muestra si no es la primera página ?>
<a href="<?php printf("%s?iniciar_consulta=%d%s", $currentPage, max(0, $iniciar_consulta - 3), $queryString_resultado1); ?>" class="paginador">Anterior</a>
<?php } // Se muestra si no es la primera página ?>
</div></td>
<td align="center">
<div align="center">
<?php if ($iniciar_consulta < $totalPages_resultado1) { // Se muestra si no es la última página ?>
<a href="<?php printf("%s?iniciar_consulta=%d%s", $currentPage, min($totalPages_resultado1, $iniciar_consulta + 3), $queryString_resultado1); ?>" class="paginador">Siguiente</a>
<?php } // Se muestra si no es la última página ?>
</div></td>
<td align="center">
<div align="center">
<?php if ($iniciar_consulta < $totalPages_resultado1) { // Se muestra si no es la última página ?>
<a href="<?php printf("%s?iniciar_consulta=%d%s", $currentPage, $totalPages_resultado1, $queryString_resultado1); ?>" class="paginador">&Uacute;ltimo</a>
<?php } // Se muestra si no es la última página ?>
</div></td>
</tr>
</table>
__________________
gerardo