在使用 php 进行查询后,我收到例如 26 个结果。我想对这些结果进行分页,每页显示 5 个。
问题是,为了发送查询,我必须使用我填写的表格信息来做一个 http 帖子。
前 5 个结果显示,但接下来的页面会给我一些关于未定义变量的错误 - 来自原始请求的变量。
这是表单代码:
<form name="formulario" action="resultados.php" method="POST">
<input name="titulo" type="text" id="cajatitulo" class="cuadrobusqueda" placeholder="Título de la publicación (Ej: La fotosíntesis y sus procesos)">
<input name="anio" type="text" id="cajaanio" class="cuadrobusqueda" placeholder="Año">
<br><br>
<input name="autor" type="text" id="cajaautor" class="cuadrobusqueda" placeholder="Apellido del autor (Ej: Rojas, J; Rojas; J)">
<input name="issn" type="text" id="cajaissn" class="cuadrobusqueda" placeholder="ISSN">
<br><br>
<input type="radio" name="tipo_busqueda" value="1" checked>
<span onmouseover="title='Busca todos los parámetros seleccionados en un artículo.'">BÚSQUEDA EXACTA</span>
<input type="radio" name="tipo_busqueda" value="2">
<span onmouseover="title='Busca cualquiera de los parámetros seleccionados en un artículo.'">BÚSQUEDA FLEXIBLE</span>
</br></br>
<input type="submit" name="boton" id="botonenviar" value="Procesar">
</form>
该数据被发送到results.php
,在此处提取帖子并使用以下代码进行分页:
extract($_POST);
include("conectar.php");
$conexion= conectarse();
$consulta="";
$tipo="";
if($tipo_busqueda=="1")
$tipo="AND";
else
$tipo="OR";
if($titulo && $consulta == "" )
$consulta=" web.titulo_paper_web LIKE '%$titulo%'";
$consulta = '
SELECT
*
FROM
acw_papers_web web
WHERE
'.$consulta.'
ORDER BY
web.probabilidad DESC';
$resultado= mysql_query($consulta, $conexion);
if (!isset($paginanum))
$paginanum = 1;
$mostrar_resultados = 5;
$filas = mysql_num_rows($resultado);
$ultima = ceil($filas/$mostrar_resultados);
if ($paginanum < 1)
$paginanum = 1;
elseif ($paginanum > $ultima)
$paginanum = $ultima;
$max = 'LIMIT '.(paginanum - 1) * $mostrar_resultados .',' .$mostrar_resultados;
$consulta = $consulta . " $max";
$resultado= mysql_query($consulta, $conexion);
在该代码下方,我生成将我链接到下一页的数据:
if ($paginanum != 1) {
echo "<a class='navegar' href='{$_SERVER['PHP_SELF']}?paginanum=1'> <b><<</b> Primera</a> ";
echo " ";
$anterior = $paginanum-1;
echo " <a class='navegar' href='{$_SERVER['PHP_SELF']}?paginanum=$anterior'> <b><</b> Anterior</a> ";
}
if ($paginanum != $ultima) {
$siguiente = $paginanum+1;
echo " <a class='navegar' href='{$_SERVER['PHP_SELF']}?paginanum=$siguiente'>Siguiente <b>></b> </a> ";
echo " <span> </span>";
echo " <a class='navegar' href='{$_SERVER['PHP_SELF']}?paginanum=$ultima'>Última <b>>></b> </a> ";
}
echo "</br>";
该代码有效,但后续页面无效。我尝试在 url 上传递该数据:
&titulo=$titulo&issn=$issn&autor=$autor&anio=
但它没有用