PHP - Buscar datos en vivo php + Mysql

 
Vista:
sin imagen de perfil

Buscar datos en vivo php + Mysql

Publicado por Adhemar (3 intervenciones) el 27/07/2017 19:53:08
Hola tengo un problema tengo un archivo php que busca registros en una base de datos en mysql en vivo el problema es que no se como hacer para que cuando el text este vacio no me muestre todos los registros de la tabla.

estos son los archivos


index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Exportar informe Excel</title>
  <!-- Latest compiled and minified CSS -->
 
</head>
<body>
<div class="container">
  <div class="page-header text-left">
    <h1>Buscador en tiempo real <small>con Jquery(ajax), Php y Mysql</small></h1>
  </div>
  <div class="row">
    <div class="col-md-3">
      <div class="input-group">
        <span class="input-group-addon"><span class="glyphicon glyphicon glyphicon-search" aria-hidden="true"></span></span>
        <input type="text" class="form-control" id="search" placeholder="Search video">
      </div>
    </div>
    <div class="col-md-3 col-md-offset-3" id="result">
    </div>
  </div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
<script type="text/javascript" src="js/index.js"></script>
</body>
</html>

index.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$(document).ready(function(){
  $('#search').focus()
 
  $('#search').on('keyup', function(){
    var search = $('#search').val()
    $.ajax({
      type: 'POST',
      url: 'php/search.php',
      data: {'search': search},
      beforeSend: function(){
        $('#result').html('<img src="img/pacman.gif">')
      }
    })
    .done(function(resultado){
      $('#result').html(resultado)
    })
    .fail(function(){
      alert('Hubo un error :(')
    })
 
 
  })
})

Solo faltaría que cuando el input text este vacio no muestre nada... disculpen no manejo mucho jquery ni ajax
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Buscar datos en vivo php + Mysql

Publicado por Yamil (888 intervenciones) el 27/07/2017 20:01:59
Bueno chequea que la variable "search" tenga datos

1
2
3
4
5
6
7
8
9
10
$('#search').on('keyup', function(){
var search = $('#search').val();
 
if (search.length == 0) {
  return;
}
 
$.ajax({
type: 'POST',
....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Buscar datos en vivo php + Mysql

Publicado por Adhemar (3 intervenciones) el 27/07/2017 23:04:25
Hola lo probé y sigue haciendo lo mismo osea al entrar por primera vez no muestra nada es cuando aprietas una techa para que busque y después borras cuando el input no tiene nada después de haber buscado algo muestra todo el contenido de la tabla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Buscar datos en vivo php + Mysql

Publicado por Yamil (888 intervenciones) el 27/07/2017 23:08:51
Si lo hace cada vez que presionas una tecla en el campo de edicion. Seguramente tienes que agregar la condicion de que es Enter o algo asi. Seria :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$('#search').on('keyup', function(ev){
   if (ev.which == 13) {
       var search = $('#search').val();
 
       if (search.length == 0) {
           return;
       }
 
      $.ajax({
         type: 'POST',
       ....
      })
  }
});
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Buscar datos en vivo php + Mysql

Publicado por Adhemar (3 intervenciones) el 27/07/2017 23:24:50
Busca perfecto el problema es cuando borras las palabras del input quedan todos los registros de la tabla. lo que busco es quede como cuando cargo la pagina por primera ves sin nada.
cuando yo ingreso no tiene nada busco algo y lo busca
dejo el input vacio y me tira todo el listado
cuando el input este vació que no muestre nada...
perdón que no me sepa expresar bien

este es el archivo search.php que busca

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if(!isset($_POST['search'])) exit('No se recibió el valor a buscar');
 
require_once 'conexion.php';
 
function search()
{
  $mysqli = getConnexion();
  $search = $mysqli->real_escape_string($_POST['search']);
  $query = "SELECT * FROM detallesorden WHERE detalleorden_detalle!='' AND detalleorden_detalle LIKE '%$search%' OR detalleorden_detalle!='' AND orden_numero LIKE '%$search%'";
  $res = $mysqli->query($query);
  while ($row = $res->fetch_array(MYSQLI_ASSOC)) {
    echo "<p><a href='$row[orden_numero]' target='_blank'>$row[orden_numero] - $row[detalleorden_detalle]</a></p>";
  }
}
 
search();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar