Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/09/2009, 01:30
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Variables en base de datos

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