Foros del Web » Programando para Internet » PHP »

encontrar palabras en una cadena

Estas en el tema de encontrar palabras en una cadena en el foro de PHP en Foros del Web. hola forosdelweb, lo que intento hacer es un scrip que sera ejecutado de ves en cuando solo para agregar chistes en sus categorias, me expico: ...
  #1 (permalink)  
Antiguo 24/09/2009, 03:08
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
encontrar palabras en una cadena

hola forosdelweb, lo que intento hacer es un scrip que sera ejecutado de ves en cuando solo para agregar chistes en sus categorias, me expico:

tengo una base de datos donde estan los chistes una tabla donde estan
id titulo chiste
y en otra
categoria chiste

lo que quiero hacer es que el script busque por ejemplo la palabra pepito en cada chiste de la primera tabla y si la encuentra agrege el chiste en la tabla donde estan las categorias de esta forma
categoria-chiste
pepito-143
pepito-123
matrimonos-543
juanito-182

de modo que al consultar una categoria me dija el id de los chistes que contienen la palabra

saludos
__________________
...
  #2 (permalink)  
Antiguo 24/09/2009, 03:20
 
Fecha de Ingreso: marzo-2006
Mensajes: 44
Antigüedad: 18 años, 1 mes
Puntos: 4
Respuesta: encontrar palabras en una cadena

Supongo que lo podrías hacer con una consulta así:

Código PHP:
$result mysql_query ("SELECT id FROM chistes WHERE chiste LIKE '%pepito%' AND id NOT IN (SELECT chiste FROM categorias)");
while (
$row mysql_fetch_array ($result)) {
    
mysql_query ("INSERT INTO categorias (categoria, chiste) VALUES ('pepito', " $row['id'] . ")");

Con esto buscarías todos los chistes que en el campo chiste tengan la palabra pepito (podrías añadir también "OR titulo LIKE '%pepito%'" si quieres que lo pueda tener también en el título) y que no estén ya en alguna categoría.
Luego para cada uno de los resultados de esta búsqueda los metes en la categoría 'pepito'.

Saludos
  #3 (permalink)  
Antiguo 24/09/2009, 03:21
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: encontrar palabras en una cadena

Hola creo que puedes hacerlo con explode, separas el chiste en palabras yluego vas comparando cada palabra con la que quieras poner con algun bucle, el de cambiarlo de tabla seria lo mas facil creo yo solo deberias ponerlo en el bucle.Un Saludo
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios
  #4 (permalink)  
Antiguo 24/09/2009, 03:26
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: encontrar palabras en una cadena

muchisimas gracias eso es presisamente lo que quiero, solo que en donde va la palabra pepito se podria utilizar un array? para poner $array="pepito","maridos","brujas";
y que cada vez que encuentre esas palabras las ponga en una entrada nueva, o tendria que poner este codigo tantas veces como sea necesario
__________________
...
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 13:20.