he estado tratando de hacer que los resultados de búsqueda se dividan en pagina y no logro hacerlo
tengo este código y busca muy bien los resultados pero en ocasiones los resultados son tantos que la pagina no carga y me gustaría paginar los resultados
Código PHP:
Ver original
<form name="buscar" action="<?php $_SERVER['PHP_SELF'] ?>" method="get"> Buscar: <input type="text" size="50" value="<?php echo $_GET['frase']; ?>" name="frase" /> <input type="submit" name="buscar" value="Buscar" /> </form> <?php // conectar al servidor if(!$server_link){ } // seleccionamos la base de datos if(!$db_selected){ } // varificamos que el formulario halla sido enviado // hacemos la consulta de busqueda // ver explicación mas abajo MATCH (libro, id_libro, capitulo, verso, texto) AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias FROM reina_valera_60, libros_biblia WHERE MATCH (libro, id_libro, capitulo, verso, texto) AGAINST ('$frase' IN BOOLEAN MODE) ORDER BY coincidencias DESC", $server_link) // Enviamos un mensaje // indicando la cantidad de resultados ($totalRows) // para la frase busada ($frase) echo stripslashes("<p>Su búsqueda arrojó <strong>$totalRows</strong> resultados para <strong>$frase</strong></p><hr>"); // mostramos los resultados echo "<div class='resu'><div class='titu'>"; echo "<strong>$row[libro]: cap: $row[capitulo] : $row[verso]</strong> "; echo "</div>"; } } // si se ha enviado vacio el formulario // mostramos un mensaje del tipo Oops...! echo "Debe introducir una palabra o frase."; } // si no hay resultados // elseif($totalRows == 0){ } } ?>
intente hacerlo de esta manera pero muestra 5 resultados y la paginación pero no mas resultados.
si presiono el numero 2 sale la pagina en blanco
Código PHP:
Ver original
<form name="buscar" action="<?php $_SERVER['PHP_SELF'] ?>" method="get"> Buscar: <input type="text" size="50" value="<?php echo $_GET['frase']; ?>" name="frase" /> <input type="submit" name="buscar" value="Buscar" /> </form> <?php // conectar al servidor if(!$server_link){ } // seleccionamos la base de datos if(!$db_selected){ } // varificamos que el formulario halla sido enviado // maximo por pagina $limit = 5; // pagina pedida $pag = (int) $_GET["pag"]; if ($pag < 1) { $pag = 1; } $offset = ($pag-1) * $limit; // hacemos la consulta de busqueda // ver explicación mas abajo MATCH (libro, id_libro, capitulo, verso, texto) AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias FROM reina_valera_60, libros_biblia WHERE MATCH (libro, id_libro, capitulo, verso, texto) AGAINST ('$frase' IN BOOLEAN MODE) ORDER BY coincidencias DESC LIMIT $offset, $limit", $server_link) $sqlTotal = "SELECT FOUND_ROWS() as total"; // Total de registros sin limit $total = $rowTotal["total"]; // Enviamos un mensaje // indicando la cantidad de resultados ($totalRows) // para la frase busada ($frase) echo stripslashes("<p>Su búsqueda arrojó <strong>$totalRows</strong> resultados para <strong>$frase</strong></p><hr>"); // mostramos los resultados echo "<div class='resu'><div class='titu'>"; echo "<strong>$row[libro]: cap: $row[capitulo] : $row[verso]</strong> "; echo "</div>"; } } // si se ha enviado vacio el formulario // mostramos un mensaje del tipo Oops...! echo "Debe introducir una palabra o frase."; } // si no hay resultados // elseif($totalRows == 0){ } } ?> <?php for( $i=1; $i<=$totalPag ; $i++) { $links[] = "<a href=\"?pag=$i\">$i</a>"; } ?>
agradezco que puedan ayudarme ya que no se mucho php