Foros del Web » Programando para Internet » PHP »

Error en paginación PHP. Ayuda

Estas en el tema de Error en paginación PHP. Ayuda en el foro de PHP en Foros del Web. Buenas noches Llevo varios días intentando resolver el problema que tengo con la paginación pero no hay manera. Os dejo el código para ver si ...
  #1 (permalink)  
Antiguo 18/03/2008, 17:27
 
Fecha de Ingreso: marzo-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Error en paginación PHP. Ayuda

Buenas noches

Llevo varios días intentando resolver el problema que tengo con la paginación pero no hay manera. Os dejo el código para ver si me podéis ayudar.

Explicación del problema: A la hora de realizar la paginación da un error de mysql_fetch_array, o no muestra los resultados una vez que le damos a siguiente en la barra de navegación, además de desaparecer dicha barra. Creo que el problema radica en el while.

Muchas gracias por vuestro tiempo.

Un saludo.

-----------------------------------------------------
<?PHP

function conectar()
{
$base_de_datos = "proyecto";
$db_usuario = "root";
$db_password = "root";

if (!($link = mysql_connect("localhost", $db_usuario, $db_password)))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db($base_de_datos, $link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
//Guardamos el contenido en una variable
$Nombre=$_REQUEST['Nombre'];
$buscar=$_REQUEST['buscar'];
$exten=$_REQUEST['extension'];
$nivel=$_REQUEST['nivel'];
$asignatura=$_REQUEST['asignatura'];


$db = conectar();
$registros = 1;

$pagina = $_GET["pagina"];

if (!$pagina) {
$inicio = 0;
$pagina = 1;
}
else {
$inicio = ($pagina - 1) * $registros;
}

$resultados = mysql_query("Select dmname,dmdate_published,nivel,asignatura,dmdescrip tion, descarga FROM jos_docman WHERE dmname LIKE '%$Nombre%' AND extension='$exten'");

$total_registros = mysql_num_rows($resultados);

$resultados = mysql_query("Select dmname,dmdate_published,nivel,asignatura,dmdescrip tion, descarga FROM jos_docman WHERE dmname LIKE '%$Nombre%' AND extension='$exten' LIMIT $inicio, $registros");

$total_paginas = ceil($total_registros / $registros);

?>

<table align="center" border="2" bgcolor="black">
<tr>
<th>Nombre</th>
<th>Fecha de publicación</th>
<th>Nivel educativo</th>
<th>Asignatura</th>
<th>Descripción</th>
<th>Descargar</th>
</tr>
<?PHP
while($row=mysql_fetch_array($resultados))
{
echo '<tr><td>'.$row["dmname"].'</td>';
echo '<td>'.$row["dmdate_published"].'</td>';
echo '<td>'.$row["nivel"].'</td>';
echo '<td>'.$row["asignatura"].'</td>';
echo '<td>'.$row["dmdescription"].'</td>';
echo '<td>'.$row["descarga"].'</td></tr>';
}
//mysql_free_result($resultados);
//Cerramos la tabla, el form y mostramos enlaces a diferentes páginas Web
?>
</table>
<?PHP
//Bara de navegación para movernos por los registros.

if(($pagina - 1) > 0) {
echo "<a href='buscar.php?pagina=".($pagina-1)."'>< Anterior</a> ";
}

for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i) {
echo "<b>".$pagina."</b> ";
} else {
echo "<a href='buscar.php?pagina=$i'>$i</a> ";
} }

if(($pagina + 1)<=$total_paginas) {
echo " <a href='buscar.php?pagina=".($pagina+1)."'>Siguiente ></a>";
}
?>
  #2 (permalink)  
Antiguo 18/03/2008, 17:39
 
Fecha de Ingreso: marzo-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Error en paginación PHP. Ayuda

Buenas noches.

Os dejo escrito el error que produce la paginación al intentar mostrar los registros de las páginas siguientes. Espero que os ayude a encontrar el error.

Muchas gracias por vuestro tiempo.

Un saludo.


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\buscar.php on line 173

La línea 173 es esta:

while($row=mysql_fetch_array($resultados))
  #3 (permalink)  
Antiguo 18/03/2008, 18:42
 
Fecha de Ingreso: marzo-2007
Ubicación: España
Mensajes: 133
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Error en paginación PHP. Ayuda

Hola,

cuando "montas" los links de la paginacion, debes pasarle los campos que estas buscando $Nombre, $buscar, $exten, $nivel, $asignatura

echo "<a href='buscar.php?pagina=".($pagina-1)."&nombre=".$nombre."&buscar=$buscar."'><Anterio r</a>";

asi con todos los parametros que uses en tu busqueda y en los links (anterior, actual y siguiente)

a ver si asi ;)
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 06:18.