PHP - Implementar sugerencias a un buscador

   
Vista:

Implementar sugerencias a un buscador

Publicado por Sam (138 intervenciones) el 28/07/2015 18:16:06
Miren tengo programado un buscador en php y ajax, en cuanto pongo algo en el input me salen automáticamente resultados extraídos desde la base de datos.

Lo que pasa es que estoy intentando implementarle una cualidad añadida que consiste en :

que cuando la persona ponga una letra o letras automáticamente le sugiera palabras extraidas desde la bbdd.

Pero no me sale para variar.

Si me pudieran ayudar les estaría muy agradecido por ello.

miren les pongo el codigo entero del buscador y metido entre "comentarios" el codigo que deberia hacer lo de las sugerencias pero no me funciona.

archivo 1 llamado: 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php require_once('conn/connect.php'); ?>
 
<!DOCTYPE HTML>
 
<html>
 
    <head>
 
        <meta charset="utf-8">
        <title>Buscador ajax php sql jquery</title>
 
        <link rel="stylesheet" type="text/css" href="css/estilos.css" />
 
        <link href='http://fonts.googleapis.com/css?family=Roboto+Condensed' rel='stylesheet' type='text/css'>
 
        <script src="js/jquery.min.js"></script>
 
        <script src="js/ajax.js"></script>
 
 
<!--BLOQUE, MOSTRAR SUGERENCIAS DE BUSQUEDA....................................................................-->
 
        <link rel="stylesheet" type="text/css" href="css/jquery-ui.min.css" />
 
        <!--<script src="js/jquery.min.js"></script>-->
<!--
        <script src="js/jquery-ui.min.js"></script>             

        <script>

			$('document').ready(function(){

				$('#search').autocomplete({

					//source: ['uno', 'dos', 'tres', 'unicornio', 'dosier', 'tres en uno']

					source: 'php/buscador.php'					
				});
			});

		</script>                      
-->
    </head>
 
 
 
    <body>
 
    	<!--<h1>Buscador ajax</h1>-->
 
        <div class="container">
 
            <div class="center" id="logo">
 
            	<br/><br/><br/><br/><br/>
 
            	<img src="img/logo.jpg" width="400px" alt="buscador" title="buscador">
 
            	<br/><br/><br/><br/>
 
            </div>
 
 
 
        	<div class="form center">
 
            	<form action="" method="" name="search_form" id="search_form">
 
                	<input type="text" name="search" id="search">
 
            	</form>
 
            </div>
 
 
 
            <div id="resultados"></div>
 
            <div class="footer center">
 
            	Copyright 2014 -Reservados todos los derechos <br/>
 
                <a href="https://www.google.com">Enlace a mi web</a>
 
            </div>
 
 
        </div>
 
    </body>
 
</html>

archivo 2 llamado "buscador.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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
 
	require_once('../conn/connect.php');
 
	sleep(1);
 
	$search = '';
 
	if (isset($_POST['search'])) {
 
		$search = strtolower($_POST['search']);
	}
 
 
	$consulta = "SELECT * FROM tienda_categoria_1 WHERE caracteristicas like '%".$search."%'

	OR titulo LIKE '%".$search."%' ORDER BY visitas DESC LIMIT 5";
 
	$resultado = $connect->query($consulta);
	$fila = mysqli_fetch_assoc($resultado);
 
	$total = mysqli_num_rows($resultado);
 
 
 
/*	

	while($fila = $consulta) {

		$resultado[] = $fila['titulo'];
	}


	return $resultado;

	echo json_encode($resultado($_GET['term']));

*/
 
?>
 
 
 
<?php if ($total>0 && $search!='') { ?>
 
	<h2>Resultados de la búsqueda</h2>
 
    <?php do { ?>
 
    	<div class="art">
 
        	<a href="articulo.php?id=<?php echo $fila['id'] ?>&search=<?php echo $search; ?>">
 
    		<span class="titulo"><?php echo str_replace($search, '<strong>'.$search.'</strong>', utf8_encode($fila['titulo'])); ?></span> <br/>
    		<span class="referencia"><?php str_replace($search, '<strong>'.$search.'</strong>', utf8_encode($fila['referencia'])); ?></span> <br/>
    		<span class="caracteristicas"><?php echo str_replace($search, '<strong>'.$search.'</strong>', substr(utf8_encode($fila['caracteristicas']),0,150)); ?></span>
 
            </a>
 
        </div>
 
    	<br/>
 
    <?php } while($fila = mysqli_fetch_assoc($resultado)); ?>
 
<?php }
 
//si se cumple la condicion que de un mensaje que diga:
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>Intenta realizar tu búsqueda con palabras mas especificas...</p>';
 
?>

archivo 3 , llamado "ajax.js":

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
30
31
32
33
34
35
36
37
// JavaScript Document
 
$(function() {
 
	$('#search').focus();
 
	$('#search_form').submit(function(e) {
 
		e.preventDefault();
	})
 
 
	$('#search').keyup(function() {
 
		var envio = $('#search').val();
 
		$('#logo').html('<h2>El buscador de tu web.com</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);
				}
			}
		})
	})
 
})



gracias de antemano .
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