Foros del Web » Programando para Internet » PHP »

Ayuda con un buscador

Estas en el tema de Ayuda con un buscador en el foro de PHP en Foros del Web. Hola!! como podran darse cuenta mas adelante, soy novato con el php, y estoy tratando de montar un buscador y he tratado de todas la ...
  #1 (permalink)  
Antiguo 06/02/2008, 15:22
Avatar de maurolo  
Fecha de Ingreso: febrero-2008
Mensajes: 9
Antigüedad: 16 años, 2 meses
Puntos: 0
De acuerdo Ayuda con un buscador

Hola!! como podran darse cuenta mas adelante, soy novato con el php, y estoy tratando de montar un buscador y he tratado de todas la maneras posibles de encontrar el error que me esta dando pero no he podido..... mirenlo y porfavor ayudenme.....

Código PHP:
<?
$bd_servidor 
"localhost";

$bd_usuario "usuario_bd";

$bd_contrasenya "12345";

$bd_bdname "nombre_bd";

$bd_tabla "nombre_tabla";

$link mysql_connect($bd_servidor,$bd_usuario,$bd_contrasenya);

mysql_select_db($bd_bdname,$link);

?>
    <p align="center" class="Estilo1">BUSCADOR    
    <p align="center" class="Estilo1">Introduce las palabras para la b&uacute;squeda
    <form name="buscador" method="post" action="busca.php">
      <span class="Estilo4">Buscar por 
      <select name="campo">
<?php

$result 
mysql_query("SHOW FIELDS FROM `$bd_tabla`",$link);

while(
$row mysql_fetch_row($result)) 
{

?>
<option value="<? echo $row[0]; ?>" selected><? echo $row[0]; ?></option>
<?

}

?>
</select>
<br>
Palabra a buscar:
<input type="text" name="palabra">
</span>      <br>
<input type="submit" value="Enviar" name="enviar">
    </form>
    </p>
    <?

if(isset($_POST['enviar'])) {

$query "SELECT * FROM $bd_tabla WHERE `{$_POST['campo']}` LIKE '%{$_POST['palabra']}%'";

$result mysql_query($query,$link);

$found false

while (
$row mysql_fetch_array($result)) {

$found true;

echo 
"<p>";
echo 
"<table width='400' border='1' bgcolor='#FFFF66'><td>";
foreach(
$row as $nombre_campo => $valor_campo) {

if(
is_int($nombre_campo)) 
{

continue; 

}

echo 
"<b>".$nombre_campo."</b> : ".$valor_campo."<br>";

}
echo 
"</td></table>";
echo 
"</p>";

}

if(!
$found) {

echo 
"No se encontr&oacute; la palabra introducida";

}

}
?>
la idea es poder buscar una palabra en una tabla haciendo un filtro con la palabra que se escuentre en el select "campo".

espero que me puedan ayudar... muchas gracias!!!
  #2 (permalink)  
Antiguo 06/02/2008, 19:03
 
Fecha de Ingreso: enero-2008
Mensajes: 132
Antigüedad: 16 años, 3 meses
Puntos: 6
Re: Ayuda con un buscador

cual es el error que te da?
  #3 (permalink)  
Antiguo 06/02/2008, 21:03
Avatar de maurolo  
Fecha de Ingreso: febrero-2008
Mensajes: 9
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Ayuda con un buscador

me sale "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/tulocali/public_html/buscador.php .....
  #4 (permalink)  
Antiguo 06/02/2008, 22:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda con un buscador

Prueba hacer asi tu Query:
Código PHP:
$result mysql_query($query,$link) or die( "Error en Query: $query, error" mysql_error() ); 
Saludos.
  #5 (permalink)  
Antiguo 07/02/2008, 00:15
Avatar de maurolo  
Fecha de Ingreso: febrero-2008
Mensajes: 9
Antigüedad: 16 años, 2 meses
Puntos: 0
Pregunta Re: Ayuda con un buscador

creo que el error esta en la consulta...

-------------------------------------
| codigo | nombre | localidad |
-------------------------------------
| 01 | predro | suba |
| 02 | lucas | usme |
| 03 | pepe | engativa |
| 04 | harry | suba |
--------------------------------------

Código PHP:
$query = ("SELECT * FROM $bd_tabla WHERE 'Localidad' LIKE`{$_POST['campo']}` AND '%{$_POST['palabra']}%'"); 
me sale...... Error en Query: SELECT * FROM informacion WHERE 'Localidad' LIKE`Engativa` AND '%harry%', errorUnknown column 'Engativa' in 'where clause'

alguna sugerencia??? ayudenme por favor!!

Última edición por maurolo; 07/02/2008 a las 00:22
  #6 (permalink)  
Antiguo 07/02/2008, 09:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda con un buscador

Te esta diciendo que la columna Engativa no existe en tu tabla, para que tu buscador funcione, debes de agregar esa columna a tu tabla.

Saludos.
  #7 (permalink)  
Antiguo 07/02/2008, 10:25
Avatar de maurolo  
Fecha de Ingreso: febrero-2008
Mensajes: 9
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Ayuda con un buscador

Cita:
Iniciado por GatorV Ver Mensaje
Te esta diciendo que la columna Engativa no existe en tu tabla, para que tu buscador funcione, debes de agregar esa columna a tu tabla.

Saludos.
Gracias por la ayuda... pero ese es el problema..... no quiero que me busque en la columna "engativa" si no que me busque en la columna "LOCALIDAD" las coinsidencias que tegan engativa y el segundo parametro de busqueda.

te agradezco por la ayuda que me estas brindando y la que me puedar dar....
  #8 (permalink)  
Antiguo 07/02/2008, 10:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda con un buscador

No pongas el nombre del campo con comillas invertidas, si no hazlo con comillas simples, es decir no uses:
Código PHP:
$query "SELECT * FROM $bd_tabla WHERE 'Localidad' LIKE`{$_POST['campo']}` AND '%{$_POST['palabra']}%'"
Si no hazlo asi:
Código PHP:
$query = ("SELECT * FROM $bd_tabla WHERE 'Localidad' LIKE '{$_POST['campo']}' AND '%{$_POST['palabra']}%'"); 
Saludos.
  #9 (permalink)  
Antiguo 07/02/2008, 15:11
Avatar de maurolo  
Fecha de Ingreso: febrero-2008
Mensajes: 9
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Ayuda con un buscador

Ya me funciono!!!!

gracias por la ayuda!!... pero ahora solo me busca en una de las colunas de la tabla..... como puedo hacer me me busque en todas las columnas de la tabla??
lo tengo asi:

Código PHP:
$query "SELECT * FROM $bd_tabla WHERE Localidad LIKE'{$_POST['campo']}' AND Nombre LIKE '%{$_POST['palabra']}%' "
como hago la sintaxis para que pueda buscar aparte de "Nombre" por otras columnas a la vez... ejemplo: nombre, apellido, barrio, ciudad etc...

gracias!!!!
  #10 (permalink)  
Antiguo 07/02/2008, 15:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda con un buscador

Tienes que agregar todas las columnas por las que quieras buscar. Ten en cuenta que asi haces un poco lenta la consulta y es mejor usar índices FULL TEXT.

Saludos.
  #11 (permalink)  
Antiguo 07/02/2008, 16:41
Avatar de maurolo  
Fecha de Ingreso: febrero-2008
Mensajes: 9
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Ayuda con un buscador

Ok muchas gracias por tu ayuda... ha sido muy util....
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 01:13.