たとえば、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=
しかし、それは機能しませんでした