Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/09/2009, 19:28
dunga007
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Variables en base de datos

Cita:
Iniciado por quimfv Ver Mensaje
Vamos a empezar por el principio....

En la bbdd tenemos:


mensajes

idmen
asunto
mensaje

usuarios
idusu
nombre
email

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

Hola Quim, mil gracias por tu respuesta y por ayudarme tan bien de forma tan desinteresada, es por eso que este sitio siempre sera el mejor foro que conosco. En cuanto a mi problema entiendo muy bien lo que me dices y tambien estoy al tanto que no fui muy claro en la explicacion pero te cuento, el problema de mi script es la parte del mensaje "en si" por ej tu me pones:

"Hola " . $registro('nombre') . "\n\n" . $mansaje

eso esta muy bien pero lo que sucede es que con ello solo personalizo el nombre y el mensaje una parte aunque poca en el scrit y el mensaje que quiero enviar lleva varias cosas personalizadas y con ello varias variables es por ello que yo quiero saber si existe la forma de que yo ponga en el campo de mensaje de mi base de datos mysql todo esto:

"Hola " . $registro('nombre') . "\n\n" . me cominico.... y luego vendian mas variables con mas informacion precisa...

De esta forma tendria 1 solo campo de mensaje con todo el mensaje y de acuerdo a cada usuario se iria personalizando el mail no solamente con el nombre, al introducirlo asi como esta a la base de datos no me reemplaza las variables que coloco por ej esta . $registro('nombre') . no me la remplaza con el nombre.

Como te comente tambien puedo poner todo el email en el script con sus respectivas variables y funciona perfecto, pero son como 20 emails distintos por lo que tendria que escribir 20 emals con su respectivos if y me quita la facilidad que me da la base de datos de que cuando quiera agregar mas emails en lugar de estar volviendo al scriupt y recordar lo que hice y como era directamente agrego en la base de datos con los datos que me pide como dias transcurridos para enviar el mail, asunto y cuerpo. Bueno espero averme explicado un poco mejor y que me puedas ayudar. Saludos y gracias