Problema paginación que no veo....
Publicado por BBV (2 intervenciones) el 13/11/2013 20:49:44
Buenas gente, llevo pegándome todo el día con este código y no soy capaz de arreglarlo, ruego ayuda:
Mi problema es que me página mal, me hace bien el calculo de resultados buscados, y el número de páginas a mostrar, y entonces veo que la primera página de búsqueda está perfecta, pero luego paso y me aumenta el número de páginas al total de páginas máximo si hiciera una consulta a toda la base de datos.... con lo cuál al final obtengo una paginación de TODOS los resultados, no de lo buscado a través del formulario.
Muchas gracias por adelantado por vuestro tiempo y espero que me podáis ayudar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php include 'header.php';
include 'conexion.php'; ?>
<!-- Hoja de Estilos -->
<link rel="stylesheet" type="text/css" href="css/aplicacion.css">
</head>
<body>
<!--<div id="top">administración</div>-->
<section id="contenedor">
<header>
<div id="header_left">
<img src="logo.png " width="130">
</div>
<div id="header_right">
<div id="grislog"><a href="loguin.php">Loguin</a></div>
</div>
</header>
<section id="cuerpo_propiedades">
<?php include 'menu.php' ?>
<section id="propiedades">
<div id="titulopropiedades">Búsquedas:</div>
<form action="input.php" method="post" id="buscadorinmobiliario">
<input type="text" name="palabra" placeholder="Inmueble a buscar..." required>
<input type="submit" id="boton_envio" name="buscador" value="Buscar">
</form>
<br>
<?php
$tam_pag = 2;
$pagina = $_GET['pagina'];
if (!$pagina) {
$inicio = 0;
$pagina=1;
}
else {
$inicio = ($pagina - 1) * $tam_pag;
}
$buscar=$_POST['palabra'];
$consulta = "SELECT * FROM propiedades WHERE descripcion like '%$buscar%' ORDER BY id_pro DESC";
$rs = mysql_query($consulta);
$num_total_registros = mysql_num_rows($rs);
$total_paginas = ceil($num_total_registros / $tam_pag);
?>
<br>
<table width="100%" border="0">
<?php
$ssql = "SELECT * FROM propiedades WHERE descripcion like '%$buscar%' ORDER BY id_pro DESC " . " limit " . $inicio . "," . $tam_pag;
$rs = mysql_query($ssql);
while ($row = mysql_fetch_array($rs)){
?>
<p><br><b><a href="verinput.php?id=<?=$row['id_pro'];?>">
<?=$row['descripcion'];?></a></b>: <em>
<?=$row['observaciones']; ?></em><br><br></p>
<?
}
?>
</table>
<?
if($total_paginas) {
echo "<center>";
if(($pagina - 1) > 0) {
echo "<a href='input.php?pagina=".($pagina-1)."'>< Anterior</a> ";
}
for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i)
echo "<b>".$pagina."</b> ";
else
echo "<a href='busquedas.php?pagina=" . $i . "'>" . $i . "</a> "; }
if(($pagina + 1)<=$total_paginas) {
echo " <a href='input.php?pagina=".($pagina+1)."'>Siguiente ></a>";
}
echo "</center>";
}
?>
</section>
</section>
</section>
<div id="espacio_blanco"></div>
<?php
include 'desconexion.php';
include 'footer.php';
?>
Mi problema es que me página mal, me hace bien el calculo de resultados buscados, y el número de páginas a mostrar, y entonces veo que la primera página de búsqueda está perfecta, pero luego paso y me aumenta el número de páginas al total de páginas máximo si hiciera una consulta a toda la base de datos.... con lo cuál al final obtengo una paginación de TODOS los resultados, no de lo buscado a través del formulario.
Muchas gracias por adelantado por vuestro tiempo y espero que me podáis ayudar.
Valora esta pregunta


0