Comunidad de diseño web y desarrollo en internet online

Ayuda paginar buscador en AJAX PHP y MySQL

Citar            
MensajeEscrito el 01 Sep 2015 05:03 pm
Hola a todos y desde ya bienvenida y agradecida la respuesta de todos los que me colaboren, vengo a pedir ayuda con la paginación de resultados de un buscador que usa php, mysql, jquery, ajax y bootstrap, que me está volviendo loco, a ver si me pueden ayudar.

Necesito paginarlos y probé varias clases pero no logro dar en la tecla con la paginación, listo los archivos a ver si me pueden orientar. desde ya muchas gracias

index.php

Código HTML :

<?php require_once('conn/connect.php') ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>El Catador</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link href='http://fonts.googleapis.com/css?family=Roboto+Condensed' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/estilos.css">
<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css">
</head>
<body>
<header>
  <div class="container">
    <div class="center" id="logo"> <br>
      <h1>buscame un vino</h1>
      <br>
    </div>
    <div class="form center">
      <form action="" method="post" name="search_form" id="search_form">
        <input type="text" name="search" id="search">
      </form>
    </div>
  </div>
</header>
<div class="container">
  <section id="resultados" class="main row">
  </section>
  <div class="pagination" id="pagination">
    <ul></ul>
</div>
</div>
<div class="footer center"> Copyright® 2015 - Reservados todos los derechos <br>
  <a href="#">www.blabla.com</a> </div>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
 
</body>
</html>


buscador.php

Código PHP :

<?php
    require_once('../conn/connect.php');
 
    sleep(1);
 
    $search = '';
    if (isset($_POST['search'])){
        $search = strtolower($_POST['search']);
    }
 
    $consulta = "SELECT * FROM producto WHERE Nombre LIKE '%".$search."%' OR cosecha LIKE '%".$search."%' ORDER BY id_producto ASC LIMIT 20";
    $resultado = $connect->query($consulta);
    $fila = mysqli_fetch_assoc($resultado);
    $total = mysqli_num_rows($resultado);
?>
<?php if ($total>0 && $search!='') { ?>
 
<h2>Resultados de la búsqueda</h2>
<?php do { ?>
 
  <article class="art col-xs-12 col-sm-6 col-md-4 col-lg-3">
 
  <a href="articulo.php?id=<?php echo $fila['id_producto'] ?>&search=<?php echo $search ?>">
  <img src="carga_vino/<?php echo $fila['img'] ?>" width="50" heigth="50">
  <h2 class="titulo"><?php echo str_replace($search, '<strong>'.$search.'</strong>', utf8_encode($fila['Nombre'])) ?></h2>
  <span class="contenido"><?php echo str_replace($search, '<strong>'.$search.'</strong>', substr(utf8_encode($fila['cosecha']),0,150)) ?></span><br>
  </a>
  </article>
 
<?php } while ($fila=mysqli_fetch_assoc($resultado)); ?>
<?php }
elseif($total>0 && $search=='') echo '<h2>Ingresa un parámetro de búsqueda</h2><p>Ingresa palabras clave relacionadas con el tema de esta web</p>';
else echo '<h2>No se han encontrado resultados</h2><p>Inténta realizar tu búsqueda con palabras más especificas...</p>';
?>


ajax.js

Código Javascript :

$(function(){
    $('#search').focus();
    $('#search_form').submit(function(e){
        e.preventDefault();
    })
 
    $('#search').keyup(function(){
        var envio = $('#search').val();
 
        $('#logo').html('<h2>El buscador de vinos </h2> <hr />');
        $('#resultados').html('<h2><img src="img/loading.gif" width="20" alt="" /> Cargando</h2>');
 
        $.ajax({
            type: 'POST',
            url: 'php/buscador.php',
            data: ('search='+envio),
            success: function(resp){
                if(resp!=""){
                    $('#resultados').html(resp);
                }
            }
        })
    })
})

Por leanrosf

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 Sep 2015 12:35 pm
Es complicado cuando ya tienes el código hecho. Pero lo primero es lo primero. Tienes que usar la otra forma de la cláusula LIMIT de SQL. Busca la documentación de ello.

Necesitas almacenar de alguna forma que sea persistente (sesiones de PHP) qué página es la que estás mostrando ahora.

Necesitas además saber cuántos resultados totales (sin paginar) hay en la consulta SQL.

Por DriverOp

Claber

2510 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.