Foros del Web » Programando para Internet » PHP »

Mostrar todos los registros que contengan una parte de la descripcion

Estas en el tema de Mostrar todos los registros que contengan una parte de la descripcion en el foro de PHP en Foros del Web. Tengo una web desde donde consulto x Nº DE CODIGO DEL PRODUCTO - DESCRIPCION - MARCA. Si yo pongo el nº de código del producto ...
  #1 (permalink)  
Antiguo 07/09/2007, 06:12
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Mostrar todos los registros que contengan una parte de la descripcion

Tengo una web desde donde consulto x Nº DE CODIGO DEL PRODUCTO - DESCRIPCION - MARCA. Si yo pongo el nº de código del producto en el recuadro me aparece exactamente ese registro con todos sus campos
Ahora cuando pongo por descripcion exacta de un producto, en el recuadro de abajo, tambien me aparece ese registro.

Mi pregunta sería ¿Como puedo hacer que con solo ingresar una parte de la descripción me aparezcan todos los registros que contengan esa parte de texto en su descripción?

Esta es la web, para poder ver el ejemplo http://www.tributoxica.com.ar/baseal.../catalogo.html


GRAZIE!!!!

yo tengo este codigo para hacerlo por descripción exacta:

$codigo=mysql_real_escape_string($_GET["descripcion"]);
if($codigo) $w=" WHERE descripcion='$codigo'"; else $w=""; // descripción es el campo que me muestra las especificaciones del producto

$strqry="SELECT * FROM articulos$w"; // articulos es el nombre de mi tabla

$qry=mysql_query ($strqry);
$i=mysql_num_rows ($qry);
$row = 0;
$r = 0;

while($r < $i) {
mysql_data_seek ($qry, $r);
$row = mysql_fetch_object ($qry);
$r++;
?>


"Life goes on..."
__________________
"Life goes on..."
  #2 (permalink)  
Antiguo 07/09/2007, 06:15
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Re: Mostrar todos los registros que contengan una parte de la descripcion

Puedes usar LIKE.
  #3 (permalink)  
Antiguo 07/09/2007, 06:26
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Re: Mostrar todos los registros que contengan una parte de la descripcion

Hola Amigo, ya lo habia probado, lo que sucede es que con la función LIke necesito especificar las palabras o letras que quiero que contengan las consultas, pero busco algo que se adapte a las palabras o letras que introduzca el usuario, si conoces como, podrias decirme como quedaria mi codigo?

GRAZIE soy nuevo en esto!!!!


"Life goes on..."
__________________
"Life goes on..."
  #4 (permalink)  
Antiguo 07/09/2007, 06:31
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Re: Mostrar todos los registros que contengan una parte de la descripcion

Uhm... No te entiendo muy bien.

LIKE se usa para traer registros que contengan la cadena dada. Para hacer la consulta con la cadena dada por el usuario en un formulario, bastaría con usar $_POST['campo'] en la consulta.

Ahora, si lo que quieres es que la cadena que manda el usuario pueda aparecer en cualquier sitio del registro, indistintamente del orden de la cadena/palabras, tendrías que crear un índice de la tabla con los campos a buscar, y usar en tu consulta MATCH y AGAINST.
  #5 (permalink)  
Antiguo 07/09/2007, 06:47
Avatar de acousticgerman  
Fecha de Ingreso: abril-2004
Ubicación: Merlo, buenos aires
Mensajes: 364
Antigüedad: 20 años
Puntos: 1
De acuerdo Re: Mostrar todos los registros que contengan una parte de la descripcion

Si, quiero utilizar lo último pero no se como hacerlo en el código, tu sabrias???

grazie amico!!!


"Life goes on..."
__________________
"Life goes on..."
  #6 (permalink)  
Antiguo 07/09/2007, 07:01
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Re: Mostrar todos los registros que contengan una parte de la descripcion

Tienes que usarlo de ésta forma:
Código:
SELECT * FROM tabla WHERE MATCH(campo1,campo2) AGAINST('como hacer busquedas')
Recuerda que tienes que crear un índice para que funcione.
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 06:30.