Busqueda y paginacion

Wilson
25 de Octubre del 2002
Hola, quiciera saber si alguien me puede ayudar y decirme en que me estoy equivocando, he adaptado el script de paginacion de Daniel Rodriguez Herrera que sale en este site al mio y funciona muy bien, el problema que tengo es que solo me muestra la primera pagina y cuando paso a las demas solo me aparece el buscador sin los siguientes resultados,a ver si alguien tiene buen ojo y se da cuenta del error, desde ya, muchas gracias.

<?
include("conex.phtml");
$link=Conectarse();
$result=mysql_query("select * from prueba",$link);
?>
<?php include("libpagina.phtml")?>

<?php CabeceraPagina(); ?>
<center>
<table bgcolor="#9999FF" cellspacing="0" width="770">
<TR>
<TD width="10%"><p align="top" style="margin-left: -1; margin-right: 0; margin-top: -1; margin-bottom: 0"><?php Indice() ?></TD>
<td valign="top" align="left">
<center><font size=5><b>Para subir subtitulos as click <a href="upload.php">aqui</a></b></font></center>
<center><H1>Busqueda de subtitulos</H1></center>
<center><FORM ACTION="subtitulos2test.php" METHOD="POST">
<TABLE>
<TR>
<TD>Nombre:</TD>
<TD><INPUT TYPE="text" NAME="buscar" SIZE="40" MAXLENGTH="40"><INPUT TYPE="submit" VALUE="Buscar"> </Td>
</FORM>
<?php


require ("paginar.php");
if (!isset($buscar)){
echo "</html></body> n";
exit;
}
$link = mysql_connect("localhost", "xxx", "xxx");
mysql_select_db("test", $link);

if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
$result = mysql_query("SELECT COUNT(*) FROM prueba", $link);
list($total) = mysql_fetch_row($result);
$tampag = 3;
$reg1 = ($pag-1) * $tampag;
$result = mysql_query("SELECT * FROM prueba WHERE nombre LIKE '%$buscar%' ORDER BY nombre LIMIT $reg1, $tampag", $link);


if ($row = mysql_fetch_array($result)){
echo "<center><table border = '1' width = '90%' bordercolor = '#000080' bgcolor='#6699FF' bordercolorlight='#000080' bordercolordark='#9999FF' cellspacing='0' cellpadding='0'> n";
//Mostramos los nombres de las tablas
mysql_field_seek($result,0);
do {



echo "<tr>";
echo "<td colspan='2' width=51%><a href=upload/".$row["Archivo"].">".$row["Nombre"]."</a></td>n";
echo "<td rowspan='3'>Comentario:".$row["comentario"]."</td>n";
echo "</tr>n";
echo "<tr>n";
echo "<td>Subido por:".$row["usuario"]."</td>n";
echo "<td>Formato:".$row["formato"]."</td>n";
echo "</tr>n";
echo "<tr>n";
echo "<td>Versión para:".$row["cd"]."</td>n";
echo "<td>Framerate:".$row["framerate"]."</td>n";
echo "</tr>n";
echo "</table>";
echo "<table border = '1' width = '90%' bordercolor = '#000080' bgcolor='#6699FF' bordercolorlight='#000080' bordercolordark='#9999FF' cellspacing='0' cellpadding='0'> n";
echo "<br>";

} while ($row = mysql_fetch_array($result));
echo "</table></center><br><p> n";
} else {
print ("</table>No se encontro archivo");
}
echo paginar($pag, $total, $tampag, "subtitulos2test.php?pag=");
?>

</center>


</TABLE>
</center>
<?php PiePagina(); ?>
</body>
</html>

espero que entiendan el codigo
salu2
Wil

rastrillo
25 de Octubre del 2002
Hola.

Sinceramente no lei el codigo,
pero te digo lo siguiente.


El principio de la paginacion esta en pasar a la siguiente pagina, el numero del ultimo resultado que visualizaste.

Si haces un "Select * from patatasfritas Limit 10, 5"

lo que haces es decir que te muestre 5 comenzando en el 10.

Por lo tanto, si pasas una variable por get, que tenga el útlimo que mostraste, podes hacer un nuevo select.

Suerte.