Enviar resultado de un while por mail()
3 seguidores
Buenas tardes,
Tengo un quebradero de cabeza con este tema y ya no se me ocurre que hacer, a ver si alguien me arroja algo de luz xD
La cosa basicamente es que quiero enviar por email el resultado que obtengo de un bucle while, que hace una consulta SQL.
Es decir, el resultado de ese while (que a su vez tiene mas consultas SQL dentro), toda esa "tabla de datos" se envie por email, alguien sabe como? :S
Un saludo y gracias de antemano
jmlweb
A ver si lo entiendo:
Quieres recorrer mediante un bucle los resultados devueltos por esa consulta, y a su vez hacer una consulta con los datos recibidos, por ejemplo:
<?php $consulta1 = 'Select * From mitabla1';
while($array_consulta1 = mysql_fetch_array($consulta1)){
$consulta2 = 'Select * From mitabla2 Where columna = $array_consulta1[2]';
$array2 = mysql_fetch_row($consulta2);
$email_from = $array2[2];
$email_to = info@midominio.com;
$asunto = 'Envio de información'
$cuerpo = 'Hola '.$array2[1];
mail($email_to,$asunto,$cuerpo,$email_from);
}
?>
Makea
Buenas noches,
Lo primero gracias por tu respuesta.
Veras, lo que intento es de alguna forma almacenar el while en una variable, para poder enviar por email todo el resultado del while. Me han recomendado hacerlo de esta forma, pero la he intentado y recibo un email vacio :S no se que es lo que falla:
$string = '';
while ($something = mysql_fetch_object($row)) {
$string .= '';
}
mail (email,subject,trim($string),headers);
Un saludo
markshock
Lo que has de hacer es "maquetar" lo que te devuelve el while, meterlo en una variable y entonces usar esa variable en el body del mail()..
ejemplo
while($something=mysql_fetch_object($row)){
$cuerpo.="valor de la base de datos".chr(10).chr(13);
}
mail(email, subject,$cuerpo,headers);
Si vas a enviar el email como texto, el chr(10) y chr(13) crear un salto de linea y un retorno de carro al final del valor, de manera que en la variable, almacenará el contenido 1 debajo del otro (son como el BR pero en formato texto).
En cambio si quires enviar el email con formato HTML cambia el chr(10) y chr(13) por "BR" de HTML....
algo mas claro?
Makea
Finalmente consegui hacerlo de una forma parecida a la que antes me devolvia un valor vacio, mas o menos de la siguiente forma:
[code]while ($lol
markshock
eing ???
Pero amo a ve... lo que has escrito, con lo que te hemos comentado, es lo mismo.
La única diferencia es que en tu caso, solo estas almacenando unos número secuenciales, y lo que te hemos comentado, estaba basado en la recepción de datos de una base de datos...
Venga compañero ;)