Foros del Web » Programando para Internet » PHP »

[Consulta] Busquedas sin ingresar palabra exacta.

Estas en el tema de [Consulta] Busquedas sin ingresar palabra exacta. en el foro de PHP en Foros del Web. Buenas tardes, tengo un sistemita, bastante simple, en el que el usuario, puede realizar una consulta, puede buscar un "item" por su nombre, me funciona ...
  #1 (permalink)  
Antiguo 31/05/2009, 14:38
Avatar de Hiruma-Sama  
Fecha de Ingreso: agosto-2007
Ubicación: Floresta, Buenos Aires, Argentina.
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 5
Pregunta [Consulta] Busquedas sin ingresar palabra exacta.

Buenas tardes, tengo un sistemita, bastante simple, en el que el usuario, puede realizar una consulta, puede buscar un "item" por su nombre, me funciona bien y las pruebas andan de maravilla, pero mi problema, radica en que solo encuentra el item, si la palabra es exacta, es decir, si en mi DB tengo un item llamado Elixir, para que la busqueda funcione el usuario debe ingresar, "Elixir" o "elixir", lo que yo quiero, es si se puede hacer, que si el usuario ingresa la palabra "Elix" , aparezca toda la lista con los items, que empiezan con "Elix"...

les dejo mi codigo para que vean que tipo de busqueda estoy haciendo.

Saludos y desde ya gracias ^^

form para busqueda en el html
Código PHP:
</form>                
<
br><hr>                
<
form action="consultar_item.php" method="post">
Nombre del item a consultar:<br>
<
input type="text" name="item">
<
br><br>
<
input type="submit" value="Buscar">
</
form

consultar_item.php
Código PHP:
<?php
$conexion
=mysql_connect($server,$dbuser,$dbpass) or
  die(
"Problemas en la conexion");
mysql_select_db($database,$conexion) or
  die(
"Problemas en la selección de la base de datos");
$registros=mysql_query("select nombre,descripcion, precio
                        from item where nombre='$_REQUEST[item]'"
,$conexion) or
  die(
"Problemas en el select:".mysql_error());
if (
$reg=mysql_fetch_array($registros))
{
  echo 
"<br><br>";    
  echo 
"<b>Nombre: </b>".$reg['nombre']."<br><br>";
  echo 
"<b>Descripci&oacute;n: </b>".$reg['descripcion']."<br><br>";
  echo 
"<b>Precio: </b>".$reg['precio']."<br><br>";
}
else
{
  echo 
"No existe un Item con ese nombre..";
}
mysql_close($conexion);
?>
  #2 (permalink)  
Antiguo 31/05/2009, 14:52
 
Fecha de Ingreso: octubre-2006
Mensajes: 471
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: [Consulta] Busquedas sin ingresar palabra exacta.

buenas ,prueba en vez de un WHERE, pon un LIKE.

Saludos.
  #3 (permalink)  
Antiguo 31/05/2009, 15:32
Avatar de Hiruma-Sama  
Fecha de Ingreso: agosto-2007
Ubicación: Floresta, Buenos Aires, Argentina.
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: [Consulta] Busquedas sin ingresar palabra exacta.

buenas, hice el cambio que me comentaste, pero me tira error, de sintaxys, lo unico que hice fue cambiar la palabra "where" por la palabra "like" :S

Cita:
$registros=mysql_query("select nombre,descripcion, precio
from item where nombre='$_REQUEST[item]'",$conexion) or
die("Problemas en el select:".mysql_error());
Cita:
$registros=mysql_query("select nombre,descripcion, precio
from item like nombre='$_REQUEST[item]'",$conexion) or
die("Problemas en el select:".mysql_error());
es ese el cambio que me comentabas ?.
  #4 (permalink)  
Antiguo 31/05/2009, 15:50
Avatar de Hiruma-Sama  
Fecha de Ingreso: agosto-2007
Ubicación: Floresta, Buenos Aires, Argentina.
Mensajes: 234
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: [Consulta] Busquedas sin ingresar palabra exacta.

Lo solucione con:

Cita:
$registros=mysql_query("select nombre,descripcion, precio
from item where nombre like '%$_REQUEST[item]%';",$conexion) or
die("Problemas en el select: ".mysql_error());
desde ya muchas gracias por la ayuda, esa idea me brindo la pauta para saber que googlear :P
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 03:19.