Comunidad de diseño web y desarrollo en internet online

enviar bucle con consulta en el cuerpo del mail

Citar            
MensajeEscrito el 04 Jul 2007 02:01 pm
Hola a todos:
Tengo una duda que seguro alguien va a poder ayudarme.

Quiero enviar por mail una tabla que mediante la sentencia "while" extrae el contenido de una consulta a la base de datos. Cuando lo imprimo en pantalla no hay problema, pero al incluirlo en el cuerpo del mail no me sale nada.

el mail lo envío con "mail()", las cabeceras y demás llegan perfectamente, solo que la parte de la tabla que contiene la sentencia "while" llega en blanco

Muchas Gracias

Por chegue10

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Jul 2007 02:10 pm
Postea el código, a ver como lo estas haciendo.

Saludos

Por PabloHdS

251 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Jul 2007 02:18 pm

$consulta1 = mysql_query("SELECT cantidad,medida,precio_unitario,porcentaje,total FROM upload WHERE boundary = '$ses'") or die(mysql_error());
$cuerpo = '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="http://200.58.116.157/css/style.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="770" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<td colspan="3">></td>
</tr>
<tr bgcolor="#CCCCCC">
<td width="174" class="txt9">Numero de pedido</td>
<td width="397" class="txt7">'.$pedido.'</td>
<td width="203">'.$ses.'</td>
</tr>
<tr>
<td height="46">&nbsp;</td>
<td><div align="center">
<p class="txt5">Datos personales</p>
</div></td>
<td class="txt5">'.$fecha.'</td>
</tr>
<tr>
<td height="9" class="txt8">N&uacute;mero de cliente:</td>
<td class="txt7">'.$cliente.'</td>
<td rowspan="2">&nbsp;</td>
</tr>
<tr>
<td height="10" class="txt8">Nombre y apellido:</td>
<td class="txt7">'.$nombre.', '.$apellido.'</td>
</tr>
<tr>
<td height="19" class="txt8">Domicilio:</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="19" class="txt8">Tel&eacute;fono:</td>
<td class="txt7">'.$telefono.'</td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="19" class="txt8">e-mail:</td>
<td class="txt7">'.$mail.'</td>
<td rowspan="6">&nbsp;</td>
</tr>
<tr>
<td height="50">&nbsp;</td>
<td class="txt5"><div align="center">DATOS DEL PEDIDO</div></td>
</tr>
<tr>
<td height="19" class="txt8">N&uacute;mero:</td>
<td class="txt7">'.$pedido.'</td>
</tr>
<tr>
<td height="19" class="txt8">Local o forma de entrega:</td>
<td class="txt7">'.$local.'</td>
</tr>
<tr>
<td height="100">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="100">';

// esta sería la parte en cuestion

while($resultados = mysql_fetch_array($consulta1)) {


'
<td bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">'.$resultados[cantidad].'</font></div></td>
<td bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">'.$resultados[medida].'</font></div></td>
<td bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">'.$resultados[precio_unitario].'</font></div></td>
<td bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">'.$resultados[porcentaje].'%</font></div></td>
<td bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$'.$resultados[total].'</font></div></td>
';
$charly = $charly + $resultados[total];

}
';</td>
</td>
</tr>
<tr>
<td height="36"><img src="http://200.58.116.157/imagenes/jpg/pieMapa.jpg" width="173" height="36"></td>
<td><img src="http://200.58.116.157/imagenes/jpg/pieMedio.jpg" width="397" height="36"></td>
<td><img src="http://200.58.116.157/imagenes/jpg/pieNotas.jpg" width="200" height="36"></td>
</tr>
</table>
</body>
</html>

';

Por chegue10

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Jul 2007 02:48 pm
Claro, esta mal
en el while esta poniendo mal el código HTML y la variable que almacena ese código.
También, cuando terminas el while abajo seguis poniendo código HTML pero no se lo asignas a la variable $cuerpo
De la manera que hiciste el código, te conviene almacenar todo en una misma variable. Para almacenar datos en una variable en disintas partes lo haces con .=
Algo asi:

Código :

$cuerpo = "Hola";
$cuerpo .= ", como va?";
$cuerpo .= "Todo bien";
echo $cuerpo //imprime Hola, como va? Todo bien


Por lo que en el while tenes que hacer uso de la concatenación usando .= y asignarle el código a la variable

Código :

$cuerpo .= "codigo HTML";


para asi despues tener todo contenido en una misma variable que luego usaras para la función mail();

Saludos

Por PabloHdS

251 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Jul 2007 03:18 pm
va mejorando, ahora me pone el contenido de la primer variable "$resultados[cantidad]" y nada más, así lo corregí:

$cuerpo = "<html>aca va el principio del cuerpo";

while($resultados = mysql_fetch_array($consulta1)) {
$cuerpo .= '<td>'.$resultados[cantidad].'</td>';
$cuerpo .= '<td >'.$resultados[medida].'</td>';
$cuerpo .= '<td >'.$resultados[precio_unitario].'</td>';
$cuerpo .= '<td>'.$resultados[porcentaje].'</td>';
$cuerpo .= '<td >'.$resultados[total].'</td>';
}
$cuerpo .= 'aca va el pie del cuerpo</html>';

Por chegue10

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Jul 2007 03:21 pm
ya está, perdón por lo atolondrado:

$cuerpo = "<html>aca va el principio del cuerpo";
$cuerpo .='<tr>';
while($resultados = mysql_fetch_array($consulta1)) {
$cuerpo .= '<td>'.$resultados[cantidad].'</td>';
$cuerpo .= '<td >'.$resultados[medida].'</td>';
$cuerpo .= '<td >'.$resultados[precio_unitario].'</td>';
$cuerpo .= '<td>'.$resultados[porcentaje].'</td>';
$cuerpo .= '<td >'.$resultados[total].'</td>';
}
$cuerpo .='</tr>';
$cuerpo .= 'aca va el pie del cuerpo</html>';

Por chegue10

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Jul 2007 03:22 pm
me olvidaba....

Muchisimas gracias

Por chegue10

6 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.