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);
?>
Código PHP:
<?php do {
if (mysql_num_rows($resultado1) == 0) { echo " <br><br><font color='#ffcc00'> No hay informació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)); ?>
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", $currentPage, 0, $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", $currentPage, max(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", $currentPage, min($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">Último</a>
<?php } // Se muestra si no es la última página ?>
</div></td>
</tr>
</table>
</td></tr></table>