Pregunta:
Fecha: 09-11-2018 04:18:03
(En Español)
include("conexion.php");
$proceso = $conexion->query("SELECT * FROM pedido order by id desc limit 5 ");
while ($resultado = mysqli_fetch_assoc($proceso)) {
$destinos=$resultado['destino'];
}
de este modo la Variable destino tiene 5 Valores: hospi1,hospi2,hospi3,hospi4,hospi5.
Ahora lo que quiero hacer es lo siguiente los 5 valores introducirlos dentro de la variable MENSAJE de SENDMAIL este es mi codigo de sendmail
<?php
session_start();
$correo="correo@gmail.com";
include("conexion.php");
$proceso = $conexion->query("SELECT * FROM pedido order by id desc limit 5 ");
while ($resultado = mysqli_fetch_assoc($proceso)) {
$destinos=$resultado['destino'];
}
$mensaje ='
<html>
<body>
<center>
<div>
<img src="https://i.postimg.cc/brb2wBVc/logo.jpg" style="width: 11%; height: 11%; float: left;">
</div>
<div>
<img src="https://i.postimg.cc/qq8X5qT3/logo2.png" style="width: 9%; height: 9%; float: right;">
</div>
<header style="width: 100%; height: 100%; padding: 10px; background-color: #DE0505; overflow: hidden;">
</header><br><br>
<h1>Solicitud de transporte Distribucion de dia Viernes.</h1>
<h2>Confirmar Recepcion</h2><br><br>
<form action="confirmarmail.php" method="POST">
<a href="192.168.1.92/page/confirmarmail.php"><input type="submit" name="confirmar" value="Confirmar"></a></form>
</center>
</body>
</html>';
$cabeceras = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($correo, "Solicitud de Transporte.",$mensaje,$cabeceras)
?>
de este modo que tengo el codigo en el mail solo me esta llegando solo un valor de los 5, hospi1 no los 5 valores yo los obtengo por medio de mysqli_fetch_assoc incluso lo imprimo en pantalla con un print y salen los 5 pero al momento de llevarlo dentro de la variable MENSAJE solo toma un valor
mi pregunta es la siguiente como puedo hacer que los valores guardados en la variable $destinos que son 5 pueda almacenarlo dentro de la variable MENSAJE de sendmail
gracias. Votos: 0 - Respuestas: 9 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
Como introducir los valores de un array en la variable MENSAJE de sendmail[Resuelta]
Hola tengo el siguiente problema estoy haciendo una consulta a la base de datos en donde me estoy trayendo varios valores de esa misma columna este es el codigoinclude("conexion.php");
$proceso = $conexion->query("SELECT * FROM pedido order by id desc limit 5 ");
while ($resultado = mysqli_fetch_assoc($proceso)) {
$destinos=$resultado['destino'];
}
de este modo la Variable destino tiene 5 Valores: hospi1,hospi2,hospi3,hospi4,hospi5.
Ahora lo que quiero hacer es lo siguiente los 5 valores introducirlos dentro de la variable MENSAJE de SENDMAIL este es mi codigo de sendmail
<?php
session_start();
$correo="correo@gmail.com";
include("conexion.php");
$proceso = $conexion->query("SELECT * FROM pedido order by id desc limit 5 ");
while ($resultado = mysqli_fetch_assoc($proceso)) {
$destinos=$resultado['destino'];
}
$mensaje ='
<html>
<body>
<center>
<div>
<img src="https://i.postimg.cc/brb2wBVc/logo.jpg" style="width: 11%; height: 11%; float: left;">
</div>
<div>
<img src="https://i.postimg.cc/qq8X5qT3/logo2.png" style="width: 9%; height: 9%; float: right;">
</div>
<header style="width: 100%; height: 100%; padding: 10px; background-color: #DE0505; overflow: hidden;">
</header><br><br>
<h1>Solicitud de transporte Distribucion de dia Viernes.</h1>
<h2>Confirmar Recepcion</h2><br><br>
<form action="confirmarmail.php" method="POST">
<a href="192.168.1.92/page/confirmarmail.php"><input type="submit" name="confirmar" value="Confirmar"></a></form>
</center>
</body>
</html>';
$cabeceras = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($correo, "Solicitud de Transporte.",$mensaje,$cabeceras)
?>
de este modo que tengo el codigo en el mail solo me esta llegando solo un valor de los 5, hospi1 no los 5 valores yo los obtengo por medio de mysqli_fetch_assoc incluso lo imprimo en pantalla con un print y salen los 5 pero al momento de llevarlo dentro de la variable MENSAJE solo toma un valor
mi pregunta es la siguiente como puedo hacer que los valores guardados en la variable $destinos que son 5 pueda almacenarlo dentro de la variable MENSAJE de sendmail
gracias. Votos: 0 - Respuestas: 9 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 09-11-2018 11:03:24 Simplemente ocupa el while donde esta la linea de envio:
while ($resultado = mysqli_fetch_assoc($proceso)) { $destinos = $resultado['destino']; mail($correo, "Solicitud de Transporte.",$destinos,$cabeceras); }
eso suponiendo que en la variable $destinos por cada vuelta alla un solo email y no una cadena de texto de emails, ya alli habria que descomponer la cadena primero. Votos: 2 - Link respuesta -
Fecha: 09-11-2018 13:53:56 Carlos si es buena la idea pero se podría saturar el servidor, yo enviaria eso a un cron job, si fuese para un proyecto de Correos masivos si es algo pequeño es perfecto Votos: 1 - Link respuesta
-
Fecha: 10-11-2018 20:44:40 no creo que sea para corrreos masivos, igual no le serviria un cron, tendria que usar un servicio externo como mailjet por ejemplo si son emails masivos, incluso para este trabajo lo recomendaria, muy bueno el servicio, en todo caso, puede generar pausas entre correos para evitar la saturación Votos: 2 - Link respuesta
-
Fecha: 14-11-2018 02:13:36 hola carlos gracias por tu respuesta yo efectivamente del modo que dices puedo ingresar la variable al mail pero el problema es que la variable debe contener 5 Valores y en el mail solo aparece 1 te muestro el codigo para aclarar mejor
include ("conexion.php");
$proceso = $conexion->query("SELECT * FROM pedido order by id desc limit 5 ");
while ($resultado=mysqli_fetch_assoc($proceso)) {
if ($resultado['estado']=='2') {
$destinos=$resultado['destino'];
print($destinos);
}
}
mail($correo, "Solicitud de Transporte.",$destinos,$cabeceras);
como pueden observar yo hago un print porque quiero ver que es lo que va a enviar y efectivamente la variables $destinos tiene 5 Valores pero cunado coloco la Variable $destino la coloco en mail solo lleva UN VALOR por que al llevar al mail la variable $destinos solo toma un solo valor y en print me salen los 5 últimos valores
gracias por su atención quedo atento a su respuestas Votos: 0 - Link respuesta -
Fecha: 14-11-2018 02:43:00 la verdad no entiendo que quieres hacer o como tienes almacenada la data, pues si colocas:
$destinos = $resultado['destino']
estas agregado el valor del campo destino de tu DB a la variable y este cambia con cada vuelta del while por así decirlo, ahora bien estas haciendo los print dentro del while lo que conlleva a mostrarte los 5 registros, pero no son 5 en realidad, si haces el print fuera del while te darás cuenta de que solo te mostrara el último, imagino que en el campo destino tienes almacenado un email por cada registro de la tabla.
Debes aclarar lo que quieres hacer, pues si lo que quieres es enviar un email a los últimos 5 registrados en tu tabla, es como te lo coloque arriba, en otro caso, muestra como esta almacenada la data y vemos a partir de allí. Votos: 0 - Link respuesta -
Fecha: 14-11-2018 03:31:10 lo que yo veo en su código es que no esta ejecutando la función mail las veces que necesita ya que esta fuera del bucle Votos: 0 - Link respuesta
-
Fecha: 14-11-2018 05:52:02 ok voy a tratar de explicarme bien
estos son los registros de la tabla de la base de datos
Origen/ produc1 / produc2 /produc3
hospi1-globulos-plaquetas-plasma
hospi2-globulos-plaquetas-plasma
hospi3-globulos-plaquetas-plasma
hospi4-globulos-plaquetas-plasma
hospi5-globulos-plaquetas-plasma
yo quiero guardar los 5 valores de Origen que son hospi1 hasta hospi5 en una variable y enviarlos en un solo mail
osea que en un mail diga tienes que visitar los siguiente hospitales: hospi1, hospi2,hospi3,hospi4,hospi5
que en solo un mail se vaya la Variable $destinos con los 5 hospi
entiendo lo que me dices carlos de que el while en cada vuelta cambia y toma el siguiente valor y asi lo tengo y funciona excelente pero también quiero que los datos almacenados en la variable $destinos vayan dirigidos al mismo correo
hasta ahora yo tengo los 5 hospi en la variable $destinos y quiero poder enviar los 5 hospi en un solo correo a un usuario unico
les dejo una copia del html para que tenga una idea de como quiero sea el mail
<html>
<body>
<center>
<div>
<img src="logo.jpg" style="width: 11%; height: 11%; float: left;">
</div>
<div>
<img src="logo2.png" style="width: 9%; height: 9%; float: right;">
</div>
<header style="width: 100%; height: 100%; padding: 10px; background-color: #DE0505; overflow: hidden;">
</header><br><br>
<h1>Producutos listo para llevar a los hospitales: hospi1,hospi2, hospi3, hospi4, hospi5.</h1>
<h2>Confirmar Recepcion</h2><br><br>
<form action="confirmarmail.php" method="POST">
<a href=""><input type="submit" name="confirmar" value="Confirmar"></a>
</form>
</center>
</body>
</html>
quedo atento a sus repuestas espero me aya explicado mejor Votos: 0 - Link respuesta -
Fecha: 14-11-2018 06:24:34 Buen esa era la idea desde el principio que fueras dicho que estaba almacenado en el campo y como debia salir la estructura, solo has esto:
$proceso = $conexion->query("SELECT * FROM pedido order by id desc limit 5 "); //Inicio la cadena $destinos = ""; while ($resultado=mysqli_fetch_assoc($proceso)) { if ($resultado['estado']=='2') { //Agrego elementos a la cadena $destinos .= $resultado['destino'].","; } } //Preparo el body del Email $body = '<html> <body> <center> <div> <img src="logo.jpg" style="width: 11%; height: 11%; float: left;"> </div> <div> <img src="logo2.png" style="width: 9%; height: 9%; float: right;"> </div> <header style="width: 100%; height: 100%; padding: 10px; background-color: #DE0505; overflow: hidden;"> </header><br><br> <h1>Producutos listo para llevar a los hospitales: '.$destinos.'/h1> <h2>Confirmar Recepcion</h2><br><br> <form action="confirmarmail.php" method="POST"> <a href=""><input type="submit" name="confirmar" value="Confirmar"></a> </form> </center> </body> </html>'; //Envío el Email mail($correo, "Solicitud de Transporte.",$body, $cabeceras);Votos: 1 - Link respuesta -
Fecha: 14-11-2018 09:39:35 Listo era eso exactamente lo que queria Gracias carlos si no es mucha molestias si me puedes explicar el codigo de la variable $destinos que por lo que veo alli es que esta el modo de mostrar todos los datos almacenados en la variable esta parte
$resultado['destino'].",";
ese es el modo correcto de mostrar los datos de una variable cuando esta tiene mas de un dato? Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
