| |||
Variables en base de datos Hola, estoy realizando un script para enviar emails de acuerdo a la cantidad de dias que hayan pasado desde una fecha se envian distintos emails, el problema que estoy teniendo es que nose si se puede colocar variables dentro de una base de datos, me explico mejor, lo que hace el script es recoger el cuerpo del email correspondiente a ese dia desde una tabla en la base de datos y enviarlo mediante la funcion mail, pero lo que quiero hacer es que en el mail que tengo guardado vayan variables, por ej la tabla de mensajes la tengo dividida en asunto, mensaje, me gustaria poner en el campo mensaje Hola $nombre para que salga el nombre de cada uno de los usuarios que tengo en otra tabla de nombre usuarios, si lo hago escribiendo en el script php el curpo del mensaje como por ejemplo: $email:fulano"arroba"nada.com $asunto:hola $cuerpo: Hola $nombre y despues hago mail($email, $asunto, $cuerpo), no tengo ningun problema funciona bien, pero como el email cambia para cada usuario esto no me sirve ademas me limita cosa que no hace mysql en caso de que siga queriendo agregar emails. Se que puede estar enredada mi explicacion pero hice lo mejor que puede, espero que alguien me pueda ayudar. Saludos y desde ya gracias |
| |||
Respuesta: Variables en base de datos Vamos a empezar por el principio.... En la bbdd tenemos: mensajes idmen asunto mensaje usuarios idusu nombre lo que necesitas para hacer lo que dices es combinar los datos procedentes de las dos tablas, para ello tendras algun criterio que por lo que dices depende de la fecha pero no nos dices con que fecha comparas... tendras otra tabla donde se guardaran pedidos o algo que habran hecho los usuarios y por tanto tendran el id de usuario, la fecha y algo mas.... Supongamos... Pedidos idped idusu fecha datospedido aún nos falta algo pada distinguir los mensajes a mandar... modifico la tabla mensajes mensajes idmen asunto mensaje dias<=dias transcurridos para mandar ese mensaje Con esto si podriamos montar una sentencia SQL que selecione aquellos usuarios cuyo ultimo pedido sea de hace X dias así como el mensaje a mandarle... Luego a tu pregunta de las variables en la bbdd.... De lo que se trata es de obtener toda la información que necesitas de la base de datos y luego combinarla.... Se podria complicar la sentencia para obtenerlo todo con una sola consulta pero no lo voy a hacer por que estoy suponiendo demasiadas cosas.... Simplificando SELECT mensaje, asunto from mensajes where dias=0 Esto nos daria el mensaje a mandar el dia en que se a generado el pedido, guardo el resultado en variable php. SELECT nombre, email from usuarios where idusu in (SELECT idusu from pedidos where fecha=DATE()) Esto nos da los usuarios que han hecho un pedido hoy... En php recorro el resultado de la sengunda consulta con lo que podré combinar nombre y email con las variables que contienen el asunto y el mensaje.... En mensaje no pongas "Hola" pon solo el cuerpo, puedes hacer "Hola " . $registro('nombre') . "\n\n" . $mansaje donde Hola es un string constante y \n son saltos de linea Quim |
| |||
Respuesta: Variables en base de datos "Hola " . $registro('nombre') . "\n\n" . $mansaje . "\n\nDato 1:" . $registro('dato1') . "\n\nDato2" .$registro('dato2')."\n\nAtentamente." Lo que podria resultar un email como el siguiente " Hola dunga007 Cuerpo del mensaje. Cuerpo del mensaje. Cuerpo del mensaje. Cuerpo del mensaje. Cuerpo del mensaje. Cuerpo del mensaje. Cuerpo del mensaje. Cuerpo del mensaje. Cuerpo del mensaje. Cuerpo del mensaje. Cuerpo del mensaje. Cuerpo del mensaje. Cuerpo del mensaje. Sus datos son los siguientes: Dato 1: El que sea Dato 2: El suiguiente Atentamente " Intercalar las variables dentro del texto puede complicarte la viada. Podrias hacerlo usando eval() para que se interpreten las variables... Quim |