Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/08/2009, 14:07
israelmx
 
Fecha de Ingreso: marzo-2009
Mensajes: 32
Antigüedad: 15 años, 1 mes
Puntos: 0
Ayuda con paginador

Hola a todos, espero que puedan ayudarme a este dolor de cabeza que tengo...



tengo una consulta de 5 columnas que muestra cada 2... el problema es que si solo tengo en la db 2 datos (id 1 y id 2) muestra su tabla correctamente pero muestra SIGUIENTE ULTIMO y si selecciono no aparece nada... quiero quitar que solo aparezca únicamente después de cada 10 resultados... no se si me explique....

si tengo los DIEZ resultados funciona perfectamente bien

este paginador se lo agrege a una consulta en columnas les pongo el codigo
Código PHP:
$maximo_consulta 2;
$iniciar_consulta 0;
if (isset(
$_GET['iniciar_consulta'])) {
$iniciar_consulta $_GET['iniciar_consulta'];
}
$empezar_fila $iniciar_consulta $maximo_consulta;
$consulta1 "SELECT *  FROM datos WHERE seccion = 'aviones' and categoria = 'varios' ORDER BY id";


if (
$_GET['buscar']) 
{
 
$buscar $_GET['buscar'];  
 
 
$consulta1 ="SELECT * FROM datos WHERE marca LIKE \"%$buscar%\" OR modelo LIKE  \"%$buscar%\" OR seccion LIKE  \"%$buscar%\" OR categoria LIKE  \"%$buscar%\" ORDER BY id DESC" ;
}



$limite_fila1 sprintf("%s LIMIT %d, %d"$consulta1$empezar_fila$maximo_consulta);
$resultado1 mysql_query($limite_fila1$con) or die(mysql_error());
$fila1 mysql_fetch_assoc($resultado1);


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

$limite_fila3 sprintf("%s LIMIT %d, %d"$consulta1$empezar_fila+4$maximo_consulta);
$resultado3 mysql_query($limite_fila3$con) or die(mysql_error());
$fila3 mysql_fetch_assoc($resultado3);

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

$limite_fila5 sprintf("%s LIMIT %d, %d"$consulta1$empezar_fila+8$maximo_consulta);
$resultado5 mysql_query($limite_fila5$con) or die(mysql_error());
$fila5 mysql_fetch_assoc($resultado5);


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);
?> 
datos a mostrar

Código PHP:

<?php do {
if (
mysql_num_rows($resultado1) == 0) { echo " <br><br><font color='#ffcc00'> No hay informaci&oacute;n en esta seccion </font>";

}
else{
?>

MUESTRA TABLA 1 CON DOS RESULTADOS  ID 1 , ID 2

<?php }} while ($fila1 mysql_fetch_assoc($resultado1)); ?>
</tr>

<tr>
<?php do {

if (
mysql_num_rows($resultado2) == 0) {

}
else{
 
?>
 
MUESTRA TABLA 2 CON LOS SIGUIENTES 2 RESULTADOS ID 3 ID 4

<?php }} while ($fila2 mysql_fetch_assoc($resultado2)); ?>
</tr>

<tr>
<?php do {
if (
mysql_num_rows($resultado3) == 0) {

}
else{
 
?>

MUESTRA TABLA 3 CON LOS SIGUIENTES 2 RESULTADOS ID 5 ID 6

<?php }} while ($fila3 mysql_fetch_assoc($resultado3)); ?>
</tr>
<tr>
<?php do {
if (
mysql_num_rows($resultado4) == 0) {

}
else{

 
?>

MUESTRA TABLA 4 CON LOS SIGUIENTES 2 RESULTADOS ID 7 ID 8

<?php } }while ($fila4 mysql_fetch_assoc($resultado4)); ?>
</tr>


<tr>
<?php do {


if (
mysql_num_rows($resultado5) == 0) {

}
else{
 
?>
MUESTRA TABLA 5 CON LOS SIGUIENTES 2 RESULTADOS ID 9 ID 10
<?php } }while ($fila5 mysql_fetch_assoc($resultado5)); ?>
aqui el problema... si tengo en mi registro solo dos campos (una columna activada) dice siguiente y ultimo

pero si tengo las 5 columnas activas que da 10 resultados funciona bien, lo que quiero es que si no hay mas de 10 columnas no muestre siguiente...

Código PHP:
<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"$currentPage0$queryString_resultado1); ?>" target="content" class="paginador style5">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"$currentPagemax(0$iniciar_consulta 5), $queryString_resultado1); ?>" target="content" class="paginador style5">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"$currentPagemin($totalPages_resultado1$iniciar_consulta 5), $queryString_resultado1); ?>" target="content" class="paginador style5">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); ?>" target="content" class="paginador style5">&Uacute;ltimo</a>
<?php // Se muestra si no es la última página ?>
</div></td>
</tr>
</table>




 </td></tr></table>
gracias por su ayuda...