Foros del Web » Programando para Internet » PHP »

buscador que no da resultados

Estas en el tema de buscador que no da resultados en el foro de PHP en Foros del Web. Buenas que tal, estuve revisando como hacer un buscador dentro de foros del web y hay muchos ejemplos los tome de base para hacer el ...
  #1 (permalink)  
Antiguo 08/02/2010, 09:15
 
Fecha de Ingreso: enero-2010
Mensajes: 79
Antigüedad: 14 años, 3 meses
Puntos: 1
buscador que no da resultados

Buenas que tal, estuve revisando como hacer un buscador dentro de foros del web y hay muchos ejemplos los tome de base para hacer el mio(bien sencillo) pero no muestra nada, aqui les pongo los códigos para ver si me pueden ayudar a ver que esta mal :
este es el formulario:
Código HTML:
<form id="form2" name="form2" method="post" action="busqueda.php">
        Buscar empresa:
        <label>
        <input type="text" name="buscar" id="buscar"  />
        </label>
        <label>
        <input type="submit" name="buscar" id="buscar" value="Buscar" />
        </label>

          </form> 
y este es busqueda.php
Código PHP:
<?php 
include("../conex/conect.php");
$link=Conectarse();
$buscar=$_POST['buscar'];
$sql mysql_query("SELECT * FROM empresa WHERE nombre LIKE '%buscar%'"); 
mysql_query($sql,$link);
while(
$row=mysql_fetch_array($sql)){ 
echo 
$row['nombre'];
echo 
"<br>";
}
echo 
'resultados';
mysql_close($link);
?>
  #2 (permalink)  
Antiguo 08/02/2010, 09:17
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: buscador que no da resultados

empezando tienes 2 campos que se llaman igual en el formulario.. cambiale el atributo name al submit
al igual que el identificador...


$sql = mysql_query("SELECT * FROM empresa WHERE nombre LIKE '%buscar%'");
mysql_query($sql,$link);

estas consultado 2 veces lo mismo .. elimina la segunda linea
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 08/02/2010, 09:27
 
Fecha de Ingreso: enero-2010
Mensajes: 79
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: buscador que no da resultados

Gracias ahora si funciona >///<, hay manera de complicarlo??.
  #4 (permalink)  
Antiguo 08/02/2010, 09:28
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: buscador que no da resultados

En la consulta deberia de tener

mysql_query("SELECT * FROM empresa WHERE nombre LIKE '%".$buscar." '%' ");
  #5 (permalink)  
Antiguo 08/02/2010, 09:30
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: buscador que no da resultados

Cita:
hay manera de complicarlo??.
a que te refieres?
__________________
More about me...
~ @rhyudek1
~ Github
  #6 (permalink)  
Antiguo 08/02/2010, 09:36
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: buscador que no da resultados

en tu sql del where, debes colocar la variable $buscar.

porque utilizas 2 veces la funcion mysql_query ?. si repites 2 veces la misma funcion, no te mostrara los resultados de tu busqueda.

Código PHP:
Ver original
  1. include("../conex/conect.php");
  2. $link=Conectarse();
  3.  
  4. $buscar=$_POST['buscar'];
  5. $sql = "SELECT * FROM empresa WHERE nombre LIKE '%$buscar%'";
  6. $query = mysql_query($sql,$link) or die(mysql_error());
  7.  
  8. while($row=mysql_fetch_array($query)){
  9.    echo $row['nombre'];
  10.    echo "<br>";
  11. }
  12. echo 'resultados';
  13.  
  14. mysql_close($link);

saludos.

Última edición por esaenz22; 08/02/2010 a las 09:40 Razón: correccion.
  #7 (permalink)  
Antiguo 08/02/2010, 09:54
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: buscador que no da resultados

Claro y como lo quieres complicar?
  #8 (permalink)  
Antiguo 08/02/2010, 09:55
 
Fecha de Ingreso: enero-2010
Mensajes: 79
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: buscador que no da resultados

Gracias ya esta solucionado n.n, no se me parece muy sencillo el código quisiera especificar por ejemplo el nombre de la empresa y su estado (activo o inactivo)
  #9 (permalink)  
Antiguo 08/02/2010, 09:59
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: buscador que no da resultados

SELECT nombre, estado ---------

Y EN EL WHILE

$row["nombre"]
$row["estado"]
  #10 (permalink)  
Antiguo 08/02/2010, 10:02
 
Fecha de Ingreso: enero-2010
Mensajes: 79
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: buscador que no da resultados

he visto que utilizan match o against eso para que es??
  #11 (permalink)  
Antiguo 08/02/2010, 10:03
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: buscador que no da resultados

para hacer busquedas "avanzadas" (por decirlo asi)

http://dev.mysql.com/doc/refman/5.1/...xt-search.html
__________________
More about me...
~ @rhyudek1
~ Github
  #12 (permalink)  
Antiguo 08/02/2010, 10:05
 
Fecha de Ingreso: enero-2010
Mensajes: 79
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: buscador que no da resultados

Ok gracias, voy a investigar eso. Para prontas modificaciones n.n
  #13 (permalink)  
Antiguo 08/02/2010, 10:06
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: buscador que no da resultados

Se usa para buscar palabras por separadas. Ejemplo de uso sería vamos a suponer que tienes una oración algo así en la base de datos:
Cita:
Buenas que tal, estuve revisando como hacer un buscador dentro de foros del web y hay muchos ejemplos los tome de base para hacer el mio(bien sencillo) pero no muestra nada, aqui les pongo los códigos para ver si me pueden ayudar a ver que esta mal :
este es el formulario:
Y deseas hacer la busqueda de "buscador sencillo", como no tienes esa información en esa oración de esa forma, lo que va a hacer el match against es buscar las palabras individualmente, y encontrarlas en el texto.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #14 (permalink)  
Antiguo 08/02/2010, 10:15
 
Fecha de Ingreso: enero-2010
Mensajes: 79
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: buscador que no da resultados

ahhh y en la sentencia sql como seria??. si no es molestia puedes colocar un ejemplo?
  #15 (permalink)  
Antiguo 08/02/2010, 10:18
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: buscador que no da resultados

Te sugiero que leas la documentación oficial de MySQL para que puedas entenderlo. Sigue el tutorial y vas a poder comprenderlo
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #16 (permalink)  
Antiguo 08/02/2010, 10:33
 
Fecha de Ingreso: enero-2010
Mensajes: 79
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: buscador que no da resultados

ok gracias :D
  #17 (permalink)  
Antiguo 08/02/2010, 10:58
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: buscador que no da resultados

Y esto está muy mal (además de lo que te dijo Hidek1):
Código PHP:
Ver original
  1. $sql = mysql_query("SELECT * FROM empresa WHERE nombre LIKE '%buscar%'");
Sería:
Código PHP:
Ver original
  1. $sql = mysql_query("SELECT * FROM empresa WHERE nombre LIKE '%{$buscar}%'");


Edito: Perdón, estaba leyendo el post y lo abrí hace mucho, y veo que ahora que posteo ya dieron mil soluciones.
Saludos.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.

Etiquetas: resultados, buscadores
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 00:35.