Foros del Web » Programando para Internet » PHP »

el script de paginacion no mustra los registros en las siguientes paginas

Estas en el tema de el script de paginacion no mustra los registros en las siguientes paginas en el foro de PHP en Foros del Web. Hola a todos, soy nuevo tanto en el foro como en PHP. Estoy haciendo un portal de coches y tengo un problema con un codigo ...
  #1 (permalink)  
Antiguo 02/04/2008, 06:07
 
Fecha de Ingreso: abril-2008
Mensajes: 3
Antigüedad: 16 años, 7 meses
Puntos: 0
Pregunta el script de paginacion no mustra los registros en las siguientes paginas

Hola a todos, soy nuevo tanto en el foro como en PHP.
Estoy haciendo un portal de coches y tengo un problema con un codigo de paginacion que no me imprime los registros en las paginas siguientes (cuando pulso siguiente o el n°de pagina, se pierden los registros y me dice que no se encontraron resultados), es un codigo que he cogido de un foro, con el cual pretendo paginar registros segun unos parametros de busqueda, el codigo es el siguiente:

<?
include ("includes/config.php");
include ("includes/funciones.php");

$cnx = conectar ();

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>paginación de resultados</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Pragma" content="no-cache" />
<style type="text/css">
<!--
a.p:link {
color: #0066FF;
text-decoration: none;
}
a.p:visited {
color: #0066FF;
text-decoration: none;
}
a.p:active {
color: #0066FF;
text-decoration: none;
}
a.p:hover {
color: #0066FF;
text-decoration: underline;
}
a.ord:link {
color: #000000;
text-decoration: none;
}
a.ord:visited {
color: #000000;
text-decoration: none;
}
a.ord:active {
color: #000000;
text-decoration: none;
}
a.ord:hover {
color: #000000;
text-decoration: underline;
}
-->
</style>
</head>
<body bgcolor="#FFFFFF">
<script language="JavaScript">
function muestra(queCosa)
{
alert(queCosa);
}
</script>
<div align="center"><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Paginación
de Resultados de una consulta SQL (sobre MySQL)<br><br><p><a href="http://www.pclandia.com"></a></p>
</font></strong> </div>
<hr noshade style="color:CC6666;height:1px">
<br>
<?
//inicializo el criterio y recibo cualquier cadena que se desee buscar
$criterio = "";
$param = "";
if ($_POST["marque"] != "null"){
$criterio.= 'idmarque = "' . $_POST["marque"] . '" ';
$param.= 'idmarque="' . $_POST["marque"] . '"';}
if ($_POST["modele"] != "null"){
$criterio.= 'AND idmodele = "' . $_POST["modele"] . '" ';
$param.= '&idmodele="' . $_POST["modele"] . '"';}
if ($_POST["deAn"] != "null"){
$criterio.= 'AND annee >= "' . $_POST["deAn"] . '" ';
$param.= '&annee="' . $_POST["deAn"] . '"';}
if ($_POST["jusqueAn"] != "null"){
$criterio.= 'AND annee <= "' . $_POST["jusqueAn"] . '" ';}
if ($_POST["carburant"] != "null"){
$criterio.= 'AND carburant = "' . $_POST["carburant"] . '" ';
$param.= '&carburant="' . $_POST["carburant"] . '"';}
if ($_POST["type"] != "null"){
$criterio.= 'AND type = "' . $_POST["type"] . '" ';
$param.= '&type="' . $_POST["type"] . '"';}
if ($_POST["deKil"] != "null"){
$criterio.= 'AND kilometrage >= "' . $_POST["deKil"] . '" ';
$param.= '&kilometrage="' . $_POST["deKil"] . '"';}
if ($_POST["jusqueKil"] != "null"){
$criterio.= 'AND kilometrage <= "' . $_POST["jusqueKil"] . '" ';}
if ($_POST["dePrix"] != "null"){
$criterio.= 'AND prix >= "' . $_POST["dePrix"] . '" ';
$param.= '&prix="' . $_POST["dePrix"] . '"';}
if ($_POST["jusquePrix"] != "null"){
$criterio.= 'AND prix <= "' . $_POST["jusquePrix"] . '" ';}
if ($_POST["wilaya"] != "null"){
$criterio.= 'AND wilaya = "' . $_POST["wilaya"] . '" ';
$param.= '&wilaya="' . $_POST["wilaya"] . '"';}
////////////////////////////////////////////////////////////////////////////

$sql="SELECT * FROM temporal WHERE ".$criterio;
$res=mysql_query($sql)or die(mysql_error());;
$numeroRegistros=mysql_num_rows($res);
if($numeroRegistros<=0)
{
echo "<div align='center'>";
echo "<font face='verdana' size='-2'>No se encontraron resultados</font>";
echo "</div>";
}else{
//////////elementos para el orden
if(!isset($orden))
{
$orden="prix";
}
//////////fin elementos de orden

//////////calculo de elementos necesarios para paginacion
//tamaño de la pagina
$tamPag=5;

//pagina actual si no esta definida y limites
if(!isset($_GET["pagina"]))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$pagina = $_GET["pagina"];
}
//calculo del limite inferior
$limitInf=($pagina-1)*$tamPag;

//calculo del numero de paginas
$numPags=ceil($numeroRegistros/$tamPag);
if(!isset($pagina))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$seccionActual=intval(($pagina-1)/$tamPag);
$inicio=($seccionActual*$tamPag)+1;

if($pagina<$numPags)
{
$final=$inicio+$tamPag-1;
}else{
$final=$numPags;
}

if ($final>$numPags){
$final=$numPags;
}
}

//////////fin de dicho calculo

//////////creacion de la consulta con limites
$sql="SELECT * FROM temporal WHERE ".$criterio." ORDER BY ".$orden.",id ASC LIMIT ".$limitInf.",".$tamPag;
$res=mysql_query($sql)or die(mysql_error());
//////////fin consulta con limites
echo "<div align='center'>";
echo "<font face='verdana' size='-2'>encontrados ".$numeroRegistros." resultados<br>";
echo "ordenados por <b>".$orden."</b>";
/*if(isset($txt_criterio)){
echo "<br>Valor filtro: <b>".$txt_criterio."</b>";
} */
echo "</font></div>";
echo "<table align='center' width='80%' border='0' cellspacing='1' cellpadding='0'>";
echo "<tr><td colspan='3'><hr noshade></td></tr>";
echo "<th bgcolor='#CCCCCC'><a href='".$_SERVER["PHP_SELF"]."?pagina = ".$pagina."&orden=marque&id=".$criterio."'>Mar que</a></th>";
echo "<th bgcolor='#CCCCCC'><a href='".$_SERVER["PHP_SELF"]."?pagina = ".$pagina."&orden=modele&criterio=".$criterio."'>M odele</a></th>";
echo "<th bgcolor='#CCCCCC'><a href='".$_SERVER["PHP_SELF"]."?pagina = ".$pagina."&orden=wilaya&criterio=".$criterio."'>W ilaya</a></th>";
while($registro=mysql_fetch_array($res))
{
?>
<!-- tabla de resultados -->
<tr bgcolor="#CC6666" onMouseOver="this.style.backgroundColor='#FF9900'; this.style.cursor='hand';" onMouseOut="this.style.backgroundColor='#CC6666'"o "];" onClick="javascript:muestra('<? echo "[".$registro["id"]."] ".$registro["marque"]." - ".$registro["modele"]; ?>');">
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["idmarque"]; ?></b></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["idmodele"]; ?></b></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["wilaya"]; ?></b></font></td>
</tr>
<!-- fin tabla resultados -->
<?
}//fin while
echo "</table>";
}//fin if
//////////a partir de aqui viene la paginacion
?>
<br>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr><td align="center" valign="top">
<?
if($pagina>1)
{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."&".$param."'>";
echo "<font face='verdana' size='-2'>anterior</font>";
echo "</a> ";
}

for($i=$inicio;$i<=$final;$i++)
{
if($i==$pagina)
{
echo "<font face='verdana' size='-2'><b>".$i."</b> </font>";
}else{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."&orden=".$orden."&".$param."'>" ;
echo "<font face='verdana' size='-2'>".$i."</font></a> ";
}
}
if($pagina<$numPags)
{
echo " <a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."&orden=".$orden."&".$para m."'>";
echo "<font face='verdana' size='-2'>siguiente</font></a>";
}
//////////fin de la paginacion
?>
</td></tr>
</table>
<hr noshade style="color:CC6666;height:1px">
<div align="center"><font face="verdana" size="-2"><a class="p" href="index.php">::Inicio::</a></font></div>

<form action="pruebaPaginacion6.php" method="get">
Criterio de búsqueda:
<input type="text" name="criterio" size="22" maxlength="150">
<input type="submit" value="Buscar">
</form>

</body>
</html>
<?
mysql_close();
?>
  #2 (permalink)  
Antiguo 02/04/2008, 08:20
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Re: el script de paginacion no mustra los registros en las siguientes paginas

Hola bedro. Bienvenido al foro.

Para hacer preguntas es preferible utilizar el foro que mejor se adapte a tu duda, así podrán ayudarte más usuarios.

Muevo tu mensaje al foro de PHP desde Bienvenida a Foros del Web.

Saludos,
  #3 (permalink)  
Antiguo 02/04/2008, 10:49
 
Fecha de Ingreso: abril-2008
Mensajes: 3
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: el script de paginacion no mustra los registros en las siguientes paginas

gracias por su ayuda
saludos
  #4 (permalink)  
Antiguo 03/04/2008, 03:52
 
Fecha de Ingreso: abril-2008
Mensajes: 3
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: el script de paginacion no mustra los registros en las siguientes paginas

Hola atodos, todavia estoy esperando una respuesta,
gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:51.