Foros del Web » Creando para Internet » Diseño web »

Buscador perfecto

Estas en el tema de Buscador perfecto en el foro de Diseño web en Foros del Web. Hola me gustaría saber, ¿Cómo lograr lo que deseo para mi buscador?. He investigado un poco y se que probablemente necesite: AJAX, JQuery, Base de ...

  #1 (permalink)  
Antiguo 21/11/2009, 16:33
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Buscador perfecto

Hola me gustaría saber, ¿Cómo lograr lo que deseo para mi buscador?. He investigado un poco y se que probablemente necesite: AJAX, JQuery, Base de Datos en Mysql. A continuación explicaré la idea de mi buscador.

Mientras escribo van apareciendo coincidencias (Similar o igual a Youtube y o Goolge), supongo que a eso le llaman: AUTCOMPLETAR con SUGGEST. La verdad ya lo he encontrado, pero NO he logrado encontrarlo en modo tal que al hacer click en una respuesta me habra una determinada dirección, es decir me lleve directo a un LINK que es el que quiero abrir. He diseñado algunas imágenes que explicarían mejor la idea.

1. Digitar la palabra y se encuentran coincidencias: Imagen

2. Click en el resultado que yo seleccione:
Imagen

3. Nueva página abierta: Imagen

Agradecería mucho que porfavor me ayudaran.
  #2 (permalink)  
Antiguo 21/11/2009, 22:13
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Buscador perfecto

Ahhh, al ver el titulo pense que seria una oferta de trabajo para mi.

Fuera de broma, podemos hacer suposiciones al ver las imagenes, pero seria mas facil tratar de ayudarte si muestras tu codigo.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 22/11/2009, 07:46
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Buscador perfecto

Hola Triby. . Te agradesco la respuesta. La verdad lo mucho o nada que he logrado se encuentra aquí:

http://extremegamex.gofreeserve.com/...erfecto_9.html

Has de saber que en el directorio: http://extremegamex.gofreeserve.com/jquery_autocomplete/

Podrás encontrar los diversos intentos de hacer funcionar este EFECTO que se menciona en esta web:

http://www.devbridge.com/projects/autocomplete/jquery/

La verdad lo intenté muy por muy mucho y ni idea. . Ahora ni siquiera puedo con algo tan "Sencillo" porque la verdad luego de lograr ese efecto aparecen los resultados pero al hacer click en ellos NO está la opción de ENVIARME a una dirección que yo le haya previamente configurado.

Espero que porfavor me ayudes...
  #4 (permalink)  
Antiguo 22/11/2009, 17:53
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Buscador perfecto

Ok, el proyecto esta ideado para generar la lista de posibles resultados mientras tecleas y, cuando haces click, agregar el texto al input; en una vista rapida no encontre la forma de asociar un enlace a cada resultado.

Tal vez te convenga pasar por la seccion de Javascript o Javascript / Frameworks para ver si alguno de los expertos en el tema pueden ayudarte a modificar el script.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 22/11/2009, 19:28
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Buscador perfecto

Gracias, Triby. Ya he publicado los temas, espero encontrar alguna solución. .
  #6 (permalink)  
Antiguo 23/11/2009, 06:44
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto

No entiendo. Teniendo estos resultados:

Cita:
<div style="width:299px;" id="Autocomplete_1240430421731" class="autocomplete">
<div><strong>Li</strong>beria</div>
<div><strong>Li</strong>byan Arab Jamahiriya</div>
<div><strong>Li</strong>echtenstein</div>
<div class="selected"><strong>Li</strong>thuania</div>
</div>
Por que no devolverlos encerrados en <a href="#"> </a> ?

A ver... en mysql podes tener un campo llamado "link" que es el que vas a imprimir en el link (en lugar del # que puse).
  #7 (permalink)  
Antiguo 23/11/2009, 10:38
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Buscador perfecto

Te agradesco por tu pronta respuesta: mayid. Me resulta curiosa tu idea. ¿Podrías darme un ejemplo porfavor?, No comprendo la parte que dice:

Cita:
Por que no devolverlos encerrados en <a href="#"> </a> ?

A ver... en mysql podes tener un campo llamado "link" que es el que vas a imprimir en el link (en lugar del # que puse).
¿Podrías mostrarme un ejemplo?.

Gracias de antemano. .
  #8 (permalink)  
Antiguo 23/11/2009, 10:58
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto

Esto es simple, pero depende de donde venga tu informacion para autocompletado.

Hay dos opciones:
1- tenes las palabras de referencia en el propio html
1a- o en un archivo aparte
2- las tenes en mysql (en una base de datos).

Primero me respondes si usas base de datos, o en todo caso de donde sacas las palabras sugeridas al usuario que tipea, y luego seguimos.
  #9 (permalink)  
Antiguo 23/11/2009, 11:04
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto

Como sea:
Cita:
<div style="width:299px;" id="Autocomplete_1240430421731" class="autocomplete">
<div><strong>Li</strong><a href="#">beria </a> </div>
<div><strong>Li</strong><a href="#">byan Arab Jamahiriya </a> </div>
<div><strong>Li</strong><a href="#">echtenstein </a> </div>
<div class="selected"><strong>Li</strong>thuania</div>
</div>
  #10 (permalink)  
Antiguo 23/11/2009, 11:25
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Buscador perfecto

Gracias una vez más Triby por esta ayuda que me das. . Ahora te respondo que:

¿Cuál es la mejor opción en tiempos de respuesta y velocidad de carga?:

1. Tener las palabras en el HTML
2. En un archivo aparte
3. En la base de datos de MySQL

Y pues dependiendo de tu selección y recomendación te diré que esa es

Espero una pronta respuesta.
  #11 (permalink)  
Antiguo 23/11/2009, 11:32
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Buscador perfecto

Hola:

ambigus: El tema encaja mejor en Ajax, y acabo de reportarlo para que lo muevan, espero que te puedan ayudar.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #12 (permalink)  
Antiguo 23/11/2009, 11:44
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto

Para mi da igual . Desconozco la cantidad de palabras que vayas a sugerir para el autocompletado, pero supongo que seran pocas, como para poder manejar sus enlaces. Por esto solo, no uses mysql.

Tener un listado extenso en el propio html es un poco feo. Y esta bueno tenerlo aparte, y llamarlo con Ajax.
  #13 (permalink)  
Antiguo 23/11/2009, 11:52
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Buscador perfecto

Hola Mayid. De nuevo gracias. Bueno el listado es de aproximadamente unas 1000 palabras para empezar en la versión de desarrollo de la web, pues son más o menos unos 1000 juegos los que existen en la actualidad para PC, claro lógicamente videojuegos serios. . Pues haste la idea de que son más o menos una lista de 1000 a 2000 :) (Para los juegos futuros)

Espero una pronta respuesta...
  #14 (permalink)  
Antiguo 23/11/2009, 11:56
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto

Entonces necesitas una tabla en mysql. Postea en el foro mysql.

Basicamente, tu tabla necesita tres campos:

id (numerico autoincrementable)
nombre (del juego)
link (esto te permitira construir los enlaces)

Y con un lenguaje de lado servidor, como PHP, imprimirìas tu lista de mil sugerencias de autocompletado.
  #15 (permalink)  
Antiguo 23/11/2009, 12:01
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto

Esta seria tu respuesta con PHP (en Json). Creo que es mucho para vos, si estas ansioso. Te va a tomar un tiempo hacerte amigo de mysql / PHP (y Json) si no estas ya en esto.

http://www.devbridge.com/projects/au.../jquery/#howto (referencia en la pagina oficial del plugin para jquery "autocompleter")
Cita:
{
query:'Li',
suggestions:['<a href="liberia.html">Liberia</a>','<a href="libericva.html">Libyan Arab Jamahiridfya</a>','<a href="liberiassd.html">Liechtenstein</a>','<a href="liberiasda.html">Lithuania'</a>],
data:['LR','LY','LI','LT']
}
Cuando llegue el momento de devolver esto con PHP, posteas en el foro de PHP.

Pd: Por favor ya no envies mensajes privados con avisos de lectura. Con el primero hubiera bastado, ok?
  #16 (permalink)  
Antiguo 23/11/2009, 14:12
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Buscador perfecto

Gracias Mayid, y perdón por los mensajes. Ahora me pregunto. ¿Qué debo hacer primero?. Mira la verdad ya intenté trabajar con ese "Autocompleter de JQuery": http://www.devbridge.com/projects/au.../jquery/#howto. Y no logré hacerlo funcionar .

¿Qué hago con esto?: ¿En dónde va? ¿Va en el archivo mencionado como autocomplete.ashx?

Cita:
{
query:'Li',
suggestions:['<a href="liberia.html">Liberia</a>','<a href="libericva.html">Libyan Arab Jamahiridfya</a>','<a href="liberiassd.html">Liechtenstein</a>','<a href="liberiasda.html">Lithuania'</a>],
data:['LR','LY','LI','LT']
}
¿Has visto mi código de Autocomplete JQuery?:

http://extremegamex.gofreeserve.com/...erfecto_9.html

La verdad no me funciona, y supongo que es por esto:

Código:
var options, a;
jQuery(function(){
  options = { serviceUrl:'service/autocomplete.ashx' };
  a = $('#query').autocomplete(options);
});
Pero no se dónde poner eso. Mira el código báse del HTML:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<link href="http://extremegamex.gofreeserve.com/jquery_autocomplete/local_2/styles/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://extremegamex.gofreeserve.com/jquery_autocomplete/local/scripts/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="http://extremegamex.gofreeserve.com/jquery_autocomplete/local/scripts/jquery.autocomplete.js"></script>
</head>
<body>
<input type="text" name="q" id="query" /
var options, a;
jQuery(function(){
  options = { serviceUrl:'http://extremegamex.gofreeserve.com/jquery_autocomplete/autocomplete.ashx' };
  a = $('#query').autocomplete(options);
});>
</body>
<div class="autocomplete-w1">
  <div style="width:299px;" id="Autocomplete_1240430421731" class="autocomplete">

    <div><strong>Li</strong>beria</div>
    <div><strong>Li</strong>byan Arab Jamahiriya</div>
    <div><strong>Li</strong>echtenstein</div>
    <div class="selected"><strong>Li</strong>thuania</div>
  </div>

</div>
</html>
La verdad no tengo ni idea de dónde poner ese archivo autocomplete.ashx que ni existe cuando descargas el pack:

http://www.devbridge.com/projects/au...uery/#download

Entonces por ese lado ando perdido, y pues supongo que lo primero sería lograr ese efecto y luego ahí si trabajar con MySQL y php. ¿Tú que opinas? .

Espero una pronta respuesta.
  #17 (permalink)  
Antiguo 23/11/2009, 16:59
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto

Cita:
¿Has visto mi código de Autocomplete JQuery?:
Si, y en eso me base para mis primeras respuestas. Lo de json/php/mysql y todo el rollo fue una propuesta posterior... que quizas no tengas que implementar si solo usas ajax y encontramos una sintaxis correcta.

Cita:
ni idea de dónde poner ese archivo autocomplete.ashx que ni existe cuando descargas el pack:
La documentacion dice que el archivo ese puede llamarse de otra manera, y no necesariamente asi. Podemos por ejemplo usar un archivo llamado respuesta.php, que contenga tu listado de palabras magicas.

Lo de Ajax/Json es un deber en un proyecto amplio como el tuyo. No podes poner una lista de 1000 palabras en tu propio html, sino quetenes que ponerlos en ese otro archivo "x" del que hablabamos. Pero tiene que estar escrito asi:

Cita:
{
query:'Li',
suggestions:['Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'],
data:['LR','LY','LI','LT']
}

{
query:'Pal',
suggestions:['Palestina','Palacio','Paladin','Palestra'],
data:['PR','PY','PI','PT']
}

etc
etc
Estos listados no se escriben manualmente, sino con un bucle que haga tareas repetitivas. Y para eso estan los lenguajes de lado servidor, como PHP. Hacete la idea , y de a poco lo vamos a ir haciendo, ok?
  #18 (permalink)  
Antiguo 23/11/2009, 17:06
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto

PostData:

Cita:
{
query:'Li',
suggestions:['Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'],
data:['LR','LY','LI','LT']
}

En relacion a query: vos no tenes que escribir silabas magicas que disparen respuestas. Eso es hecho por el lenguaje servidor. Lo que si necesitas es una buena base de datos (mysql), y un script PHP para que seleccione por orden alfabetico e imprima listados de palabras.

En verdad, me exprese mal en el anterior post. No tenes que generar mas que un juego de llaves:

Cita:
{
query:'Li',
suggestions:['Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'],
data:['LR','LY','LI','LT']
}

Todo lo proximo no va:
{
query:'Pal',
suggestions:['Palestina','Palacio','Paladin','Palestra'],
data:['PR','PY','PI','PT']
}

Respuesta tiene que haber una sola
  #19 (permalink)  
Antiguo 23/11/2009, 19:40
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Buscador perfecto

Hola Mayid. Te agradesco una vez más por tu respuesta. . Ahora quiero compartirte lo que tengo. Mira el código que yo supongo que debería ser:

Código PHP:
<?php
{
query:'Li',
suggestions:['Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'],
data:['LR','LY','LI','LT']
}

{
query:'Pal',
suggestions:['Palestina','Palacio','Paladin','Palestra'],
data:['PR','PY','PI','PT']
}
?>
PHP Ejemplo: http://farm3.static.flickr.com/2691/...edca3f0f_o.png

Ahora bien, te compartiré que en MySQL no tengo ni idea.

Nose si no me expresé bien en este tema. Pero no me responden .

Tema MySQL: http://www.forosdelweb.com/f21/mysql...pletar-756002/

Espero una pronta respuesta.
  #20 (permalink)  
Antiguo 23/11/2009, 19:50
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto

Yo meti la pata al poner dos llaves en el listado. Pero dejame ver como generar un codigo verdadero.

Cita:
<?php
$busqueda = $_GET['query'] // esto representa a lo que el usuario esta escribiendo en el teclado,por ej: 'Li'

//coneccion a mysql . Esto es pseudocodigo porque todavia no pasamos de un borrador logico
$listado = mysql_query ("SELECT * from juegos WHERE ..palabras que empiezan con 'Li' ..")
$resultados = mysql_fetch_array($listado);

foreach ($resultados as $palabra){
$palabras_sugeridas[] = $palabra; // un array con palabras
}

echo "{";
echo "query:$busqueda,";
echo "suggestions:[$palabras_sugeridas],"; // insisto en que esto es un borrador nomas.
echo "data:['LR','LY','LI','LT'] "; // en cuanto a esto, no le veo sentido y es opcional. Luego lo volamos.
echo "} ";

?>
Luego habria que poner una cabecera json, creo, o codificar el envio. De a poco.
  #21 (permalink)  
Antiguo 24/11/2009, 06:24
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Buscador perfecto

Gracias, Mayid. Entonces, ¿Dices que este código es un PHP que hace una llamada a la base de datos MySQL donde estará la lista de los juegos?. He creado una base de datos en MySQL como verás a continuación en la siguiente imagen:

Base de datos MySQL: Imagen 1

Y me pregunto, ¿Dónde iría la dirección en el código PHP que has creado?

Código PHP:
<?php
$busqueda 
$_GET['query'// esto representa a lo que el usuario esta escribiendo en el teclado,por ej: 'Li'

//coneccion a mysql . Esto es pseudocodigo porque todavia no pasamos de un borrador logico
$listado mysql_query ("SELECT * from juegos WHERE ..palabras que empiezan con 'Li' ..")
$resultados mysql_fetch_array($listado);

foreach (
$resultados as $palabra){
$palabras_sugeridas[] = $palabra// un array con palabras
}

echo 
"{";
echo 
"query:$busqueda,";
echo 
"suggestions:[$palabras_sugeridas],"// insisto en que esto es un borrador nomas.
echo "data:['LR','LY','LI','LT'] "// en cuanto a esto, no le veo sentido y es opcional. Luego lo volamos.
echo "} ";

?>
Vale espero una pronta respuesta. .
  #22 (permalink)  
Antiguo 24/11/2009, 07:37
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto

Bueno, vas bien con esto de PHP y Mysql. Me alegro.

Al pseudo codigo hay que ir trabajandolo un poco ahora. Todo este PHP va a ir en un archivo que nombres a tu gusto, pero que tenga la extension PHP. Ej: palabras.php

A tu autocompleter le agregas la opcion:
serviceUrl:'palabras.php',

Ahora te muestro como se conecta a una base de datos mysql. Pero en el otro post que abristes, dale? Y el codigo PHP creo que podemos trabajarlo aca, en este post.

EDITADO: Pensandolo bien, publicare esto aqui porque los de Mysql se enojan cuando uno pone algo de PHP en su foro...

Cita:
Esto es lo que se usa para conectar una una base de datos desde PHP:

$dbhost="localhost"; // servidor. Generalmente localhost si el archivo esta alojado en el servidor ya.
$dbusuario="usuario"; // aqui debes ingresar el nombre de usuario
$dbpassword="pass"; // password de acceso para la base de datos

$db="mibasededatos"; // Seleccionamos la base con la cual trabajar

$conexion = mysql_connect($dbhost, $dbusuario, $dbpassword); // hacemos la coneccion
mysql_select_db($db, $conexion); // conectamos con la base de datos
Este codigo tiene que encabezar tu archivo PHP. Va despues de <?PHP ....Y esta escrito con variables PHP y sentencias PHP para conectar con mysql.
  #23 (permalink)  
Antiguo 24/11/2009, 08:30
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Buscador perfecto

Gracias hermano. Ahora te comparto mis avances:

Código PHP:
<?php 
$dbhost
="sql203.gofreeserve.com"// servidor. Generalmente localhost si el archivo esta alojado en el servidor ya.
$dbusuario="gofre_3737366"// aqui debes ingresar el nombre de usuario
$dbpassword="evolutiox9"// password de acceso para la base de datos

$db="gofre_3737366_juegos_lista"// Seleccionamos la base con la cual trabajar

$conexion mysql_connect($dbhost$dbusuario$dbpassword); // hacemos la coneccion
mysql_select_db($db$conexion); // conectamos con la base de datos
?>
Vale supongo que eso es todo por ahora.
  #24 (permalink)  
Antiguo 24/11/2009, 08:50
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto

Supongo que esa clave es falsa. Si no, editala.

Cita:
<?php

header('Content-type: application/json');

$dbhost="sql203.gofreeserve.com"; // servidor. Generalmente localhost si el archivo esta alojado en el servidor ya.
$dbusuario="gofre_3737366"; // aqui debes ingresar el nombre de usuario
$dbpassword="clave"; // password de acceso para la base de datos

$db="gofre_3737366_juegos_lista"; // Seleccionamos la base con la cual trabajar

$conexion = mysql_connect($dbhost, $dbusuario, $dbpassword); // hacemos la coneccion
mysql_select_db($db, $conexion); // conectamos con la base de datos


$busqueda = $_GET['query'] // esto representa a lo que el usuario esta escribiendo en el teclado,por ej: 'Li'

$listado = mysql_query ("SELECT * FROM gofre_3737366_juegos_lista WHERE juegos_extrema_gamex='$busqueda'");
$resultados = mysql_fetch_array($listado);


$return = "{"."\n\r";
$return .= "query:$busqueda,"."\n\r";
$return .= "suggestions:[";

foreach ($resultados as $palabra){

$return .= $palabra.",";

};


$return .= "]"."\n\r";;

$return .= "} ";


//print_r($return);
echo json_encode($return);

?>
Este es el codigo para la consulta. Pero no te va a dar ningun resultado porque todavia no metistes ningun contenido en las tabla, eh.

Última edición por mayid; 24/11/2009 a las 10:36
  #25 (permalink)  
Antiguo 24/11/2009, 17:39
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Buscador perfecto

Hola Mayid. Ahora te comparto lo que creo debería ser el código completo en un archivo que he titulado: buscador_palabras.php

Código PHP:
<?php
header
('Content-type: application/json');

$dbhost="sql203.gofreeserve.com"// servidor. Generalmente localhost si el archivo esta alojado en el servidor ya.
$dbusuario="gofre_3737366"// aqui debes ingresar el nombre de usuario
$dbpassword="ambigus9"// password de acceso para la base de datos

$db="gofre_3737366_juegos_lista"// Seleccionamos la base con la cual trabajar

$conexion mysql_connect($dbhost$dbusuario$dbpassword); // hacemos la coneccion
mysql_select_db($db$conexion); // conectamos con la base de datos


$busqueda $_GET['query'// esto representa a lo que el usuario esta escribiendo en el teclado,por ej: 'Li'

$listado mysql_query ("SELECT * FROM gofre_3737366_juegos_lista WHERE juegos_extrema_gamex='$busqueda'");
$resultados mysql_fetch_array($listado);


$return "{"."\n\r";
$return .= "query:$busqueda,"."\n\r";
$return .= "suggestions:[";

foreach (
$resultados as $palabra){

$return .= $palabra.",";

};


$return .= "]"."\n\r";;

$return .= "} ";


//print_r($return);
echo json_encode($return);
?>
¿Cómo voy? .
  #26 (permalink)  
Antiguo 24/11/2009, 17:54
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto

Ja ja ja! Pero si a eso codigo lo escribì yo!

Igual fantan los enlaces, que son lo que vos queres en definitiva. El sistema es igual al de youtube, segun me fije.

Para imprimir los enlaces cambiarismos esto:
Cita:
$return .= $palabra.",";
por esto:
Cita:
$enlace = $busqueda['link'] ; // donde "link" es el nombre de la tabla en mysql que contiene los enlaces
$juego = $palabra['juegos_extrema_gamex']; // lo mismo, esta es la tabla con el nombre del juego

$return .= "<a href='$enlace'>".$juego."</a>,";
Y para optimizar el buscador, que asi como esta no funcionaria, creo que iria esto:


Cita:
juegos_extrema_gamex='$busqueda%'
en vez de esto:
Cita:
$listado = mysql_query ("SELECT * FROM gofre_3737366_juegos_lista WHERE juegos_extrema_gamex='$busqueda'");
De cualquier manera esto es un borrador. Lo que importa es que pongas a funcionar tu plugin autocompleter con ajax. Estas leyendo la documentacion?
  #27 (permalink)  
Antiguo 24/11/2009, 18:11
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Buscador perfecto

Hola Mayid. ¿Qué tal está? . Gracias hermano.

Código PHP:
<?php
header
('Content-type: application/json');

$dbhost="sql203.gofreeserve.com"// servidor. Generalmente localhost si el archivo esta alojado en el servidor ya.
$dbusuario="gofre_3737366"// aqui debes ingresar el nombre de usuario
$dbpassword="ambigus9"// password de acceso para la base de datos

$db="gofre_3737366_juegos_lista"// Seleccionamos la base con la cual trabajar

$conexion mysql_connect($dbhost$dbusuario$dbpassword); // hacemos la coneccion
mysql_select_db($db$conexion); // conectamos con la base de datos


$busqueda $_GET['query'// esto representa a lo que el usuario esta escribiendo en el teclado,por ej: 'Li'

juegos_extrema_gamex='$busqueda%'
$resultados mysql_fetch_array($listado);


$return "{"."\n\r";
$return .= "query:$busqueda,"."\n\r";
$return .= "suggestions:[";

foreach (
$resultados as $palabra){

$enlace $busqueda['link'] ; // donde "link" es el nombre de la tabla en mysql que contiene los enlaces
$juego $palabra['titulos']; // lo mismo, esta es la tabla con el nombre del juego

$return .= "<a href='$enlace'>".$juego."</a>,";

};


$return .= "]"."\n\r";;

$return .= "} ";


//print_r($return);
echo json_encode($return);
?>
Tengo una duda, ¿Porqué cambiar y escribir este código así?:

Código PHP:
juegos_extrema_gamex='$busqueda%' 
Respecto de la documentación....no se que es eso...

Espero una pronta respuesta. Por cierto, ¿Qué tal voy con las tablas del MySQL.
  #28 (permalink)  
Antiguo 24/11/2009, 18:31
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto


Yo marque en rojo lo que habia que reemplazar. Si te fijas bien, el unico cambio es agregar un simbolo %, es decir un comodin a la linea que estaba. De esta manera, al escribir "li" mysql va a buscar todas las palabras que empiezen con "li"


Por documentacion, tema aparte, me refiero a que leas esto:
http://www.devbridge.com/projects/au.../jquery/#howto
  #29 (permalink)  
Antiguo 24/11/2009, 18:46
 
Fecha de Ingreso: septiembre-2008
Mensajes: 221
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Buscador perfecto

Hola Mayid. Lo único que no comprendo de la documentación es esta parte:

Código:
var options, a;
jQuery(function(){
  options = { serviceUrl:'service/autocomplete.ashx' };
  a = $('#query').autocomplete(options);
});
No le hayo la idea.

Y pues en lo que respecta a las tablas de MySQL, ¿Podrías pasarte por el post?: http://www.forosdelweb.com/f21/mysql...pletar-756002/

Ahora bien, lo del código, no entendí bien cómo debería quedar, supongo que así:

Código PHP:
<?php
header
('Content-type: application/json');

$dbhost="sql203.gofreeserve.com"// servidor. Generalmente localhost si el archivo esta alojado en el servidor ya.
$dbusuario="gofre_3737366"// aqui debes ingresar el nombre de usuario
$dbpassword="ambigus9"// password de acceso para la base de datos

$db="gofre_3737366_juegos_lista"// Seleccionamos la base con la cual trabajar

$conexion mysql_connect($dbhost$dbusuario$dbpassword); // hacemos la coneccion
mysql_select_db($db$conexion); // conectamos con la base de datos


$busqueda $_GET['query'// esto representa a lo que el usuario esta escribiendo en el teclado,por ej: 'Li'

$juegos_extrema_gamex='$busqueda%'
$resultados mysql_fetch_array($listado);


$return "{"."\n\r";
$return .= "query:$busqueda,"."\n\r";
$return .= "suggestions:[";

foreach (
$resultados as $palabra){

$enlace $busqueda['link'] ; // donde "link" es el nombre de la tabla en mysql que contiene los enlaces
$juego $palabra['titulos']; // lo mismo, esta es la tabla con el nombre del juego

$return .= "<a href='$enlace'>".$juego."</a>,";

};


$return .= "]"."\n\r";;

$return .= "} ";


//print_r($return);
echo json_encode($return);
?>
Destaco esta parte que he modificado:

Código PHP:
$juegos_extrema_gamex='$busqueda%' 
Vale, espero una pronta respuesta.
  #30 (permalink)  
Antiguo 24/11/2009, 18:55
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Buscador perfecto

@ambigus . Me gustaria saber si vos conoces algun lenguaje de programacion. Sabes que son las variables, y las funciones, y los arrays, o estas haciendo copy+paste? Es importante que tengas nocion de que estamos haciendo, si no, no vale.

En PHP las variables empiezan con el signo $. Y almacenan valores, claro.

Esto que cambiaste:
Cita:
juegos_extrema_gamex='$busqueda%'
por esto:
Cita:
$juegos_extrema_gamex='$busqueda%'
habla de que mas o menos estas dando pie. Y eso me alegra.

Ahora, si volves un par de post atras, podes ver en rojo que es lo que hay que cambiar por que:

Cita:
Y para optimizar el buscador, que asi como esta no funcionaria, creo que iria esto:



Cita:
juegos_extrema_gamex='$busqueda%'
en vez de esto:
Cita:
$listado = mysql_query ("SELECT * FROM gofre_3737366_juegos_lista WHERE juegos_extrema_gamex='$busqueda'");
Es decir: no borres el resto del renglon. Solo agrega el comodin al final de $busqueda. No esperes que ya haga este paso por vos, porque si no no estas haciendo logica, y solo es copy+paste.

Lo da autocompleter es tema aparte. Pero aqui estamos en tema ajax asi que deberia ser nuestra prioridad.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:06.