Foros del Web » Programando para Internet » PHP »

Extraer de Mysql teniendo como clave una subcadena

Estas en el tema de Extraer de Mysql teniendo como clave una subcadena en el foro de PHP en Foros del Web. Hola a todos! Veréis tengo un ligero problema de optimización. Tengo una base de datos con 4 campos. Uno es la ID y otro contiene ...
  #1 (permalink)  
Antiguo 10/03/2010, 07:34
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 3 meses
Puntos: 44
Extraer de Mysql teniendo como clave una subcadena

Hola a todos!
Veréis tengo un ligero problema de optimización. Tengo una base de datos con 4 campos. Uno es la ID y otro contiene el título de un artículo (el resto el cuerpo, autor y fecha).

Necesito hacer una consulta a MySql que me guarde en un array SOLO los articulos en cuyo título está la palabra "Internet" (o cualquier otra palabra vamos, éste es mi caso).

Actualmente, lo que yo hago es sacar todos los resultados al un array y luego uso PHP para comparar las cadenas con preg_match(), pero cuando hay muchos registros en la base de datos, me va lentísimo, una barbarie tarda.

Al meollo, hay alguna manera de decirle a MySQL que saque el mismo los resultados?
Algo como:

Código PHP:
mysql_query("SELECT * FROM articulos WHERE eltitulotieneestasubcadena",$dblink); 
Saludos!
  #2 (permalink)  
Antiguo 10/03/2010, 09:29
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Extraer de Mysql teniendo como clave una subcadena

Necesitas usar en la clausula de WHERE el LIKE. Algo así:
Código MySQL:
Ver original
  1. SELECT * FROM tabla WHERE columna LIKE '%valor%'
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: clave, extraer, mysql, subcadena
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 04:51.