Paginar resultados de una consulta php a sql
Mirad chicos este es el c贸digo que he hecho para presentar todos los resultados del tir贸n:
//------
<?php
if($keyword){
$db=mysql_connect("localhost","root","");
mysql_select_db("empresa",$db);
if($value==id){
$sql="SELECT * FROM personal
WHERE id='$keyword'";
}
else if($value==S){
$sql="SELECT * FROM personal
WHERE nombre like '%$keyword%'";
}
else if($value==C){
$sql="SELECT * FROM personal
WHERE profesion like '%$keyword%'";
}
else{
$sql="SELECT * FROM personal
WHERE fecha like '%$keyword%'";
}
$result=mysql_query($sql);
if($myrow=mysql_fetch_array($result))
{
echo "<Center><font size=4 color=red face=arial><b>Resultados:</font>n";
echo "<table border=0 bordercolorlight=white bordercolordark=black>n";
do{
echo "Nombre: ".$myrow[nombre]."<br>n";
echo "Profesi贸n: ".$myrow["profesion"]."<br>n";
echo "Fecha: ".$myrow[fecha]."<br>n";
}while($myrow=mysql_fetch_array($result));
}
else{
echo "<center><font color=red face=arial size=4>n";
printf("No Se Encontraron Resultados Para La Busqueda!n");
}
}
?>
---//
La cuesti贸n es ¿Como quedar铆a mi c贸digo si quisiese paginar correctamente los resultados de 10 en 10 digamos que a lo largo de 16 pàginas?
Gracias por vuestro tiempo leyendo esto un saludo.
Esperar茅 vuestra respuesta. Pues tengo ganas de acabar el buscador de la web www.downstation.com a ver si os gusta la tem谩tica. Es una web para todo el mundo y ser铆a de gran ayuda que le acabasemos el buscador.
Ah, Silver, cuando me entere tu ser谩s el primero en saberlo ;)
--------------------------------
Atentamente,
Luis A.
[email protected]
//------
<?php
if($keyword){
$db=mysql_connect("localhost","root","");
mysql_select_db("empresa",$db);
if($value==id){
$sql="SELECT * FROM personal
WHERE id='$keyword'";
}
else if($value==S){
$sql="SELECT * FROM personal
WHERE nombre like '%$keyword%'";
}
else if($value==C){
$sql="SELECT * FROM personal
WHERE profesion like '%$keyword%'";
}
else{
$sql="SELECT * FROM personal
WHERE fecha like '%$keyword%'";
}
$result=mysql_query($sql);
if($myrow=mysql_fetch_array($result))
{
echo "<Center><font size=4 color=red face=arial><b>Resultados:</font>n";
echo "<table border=0 bordercolorlight=white bordercolordark=black>n";
do{
echo "Nombre: ".$myrow[nombre]."<br>n";
echo "Profesi贸n: ".$myrow["profesion"]."<br>n";
echo "Fecha: ".$myrow[fecha]."<br>n";
}while($myrow=mysql_fetch_array($result));
}
else{
echo "<center><font color=red face=arial size=4>n";
printf("No Se Encontraron Resultados Para La Busqueda!n");
}
}
?>
---//
La cuesti贸n es ¿Como quedar铆a mi c贸digo si quisiese paginar correctamente los resultados de 10 en 10 digamos que a lo largo de 16 pàginas?
Gracias por vuestro tiempo leyendo esto un saludo.
Esperar茅 vuestra respuesta. Pues tengo ganas de acabar el buscador de la web www.downstation.com a ver si os gusta la tem谩tica. Es una web para todo el mundo y ser铆a de gran ayuda que le acabasemos el buscador.
Ah, Silver, cuando me entere tu ser谩s el primero en saberlo ;)
--------------------------------
Atentamente,
Luis A.
[email protected]
lo siento pero no tengo mucho tiempo para hacerte el codigo, pero te puedo dar una idea de como hacerlo.
en primer lugar puedes poner 2 botones (siguiente y anterior) por ejemplo.
A esos botones los enlazas con la propia pagina y sus parametros recibidos, a帽adiendole un parametro mas, el offset.
Por ejemplo
<a href="http://tupagina.com/buscador.php?keyword=<?php echo $keyword ?>&value=<?php echo $value ?>&offset=<?php echo $offset=$oftset+10 ?>Siguiente</a>
Luego antes del bucle que muestra los resultados, haces otro que saque todos los valores del resultado del filtro hasta 'offset', cambias el bucle para que solo muestre 10 resultados y ya esta.
Todo esto es muy mejorable, pero es una forma rapida
en primer lugar puedes poner 2 botones (siguiente y anterior) por ejemplo.
A esos botones los enlazas con la propia pagina y sus parametros recibidos, a帽adiendole un parametro mas, el offset.
Por ejemplo
<a href="http://tupagina.com/buscador.php?keyword=<?php echo $keyword ?>&value=<?php echo $value ?>&offset=<?php echo $offset=$oftset+10 ?>Siguiente</a>
Luego antes del bucle que muestra los resultados, haces otro que saque todos los valores del resultado del filtro hasta 'offset', cambias el bucle para que solo muestre 10 resultados y ya esta.
Todo esto es muy mejorable, pero es una forma rapida
