Foros del Web » Programando para Internet » PHP »

Resultados en un mail

Estas en el tema de Resultados en un mail en el foro de PHP en Foros del Web. Hola. Necesito saber como meter los resultados de varias consultas a una bd en el cuerpo del mensaje de un mail. Gracias....
  #1 (permalink)  
Antiguo 24/06/2003, 18:57
ivanff
Invitado
 
Mensajes: n/a
Puntos:
Resultados en un mail

Hola. Necesito saber como meter los resultados de varias consultas a una bd en el cuerpo del mensaje de un mail.
Gracias.
  #2 (permalink)  
Antiguo 24/06/2003, 19:35
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
Primero obtenemos los datos de la tabla,, y luego ya predefinidas las variables del destinatario, asunto y otras completamos con la funcion mail() asi, mas o menos:
Código PHP:
$email "[email protected]";
$asunto "Obtencion de la BD MYSQL";

$sql mysql_query("SELECT dato1,dato2,dato3 FROM tabla");
while(
$row=mysql_fetch_array($sql)){

$dato1 $row['dato1'];
$dato2 $row['dato2'];
$dato3 $row['dato3'];

mail("$email""$asunto""Mensaje, \nDato1: $dato1\n Dato2: $dato2\n Dato3: $dato3""From: [email][email protected][/email]");
echo 
"Enviado con exito";

Salu2
__________________
http://www.chorcha.com
  #3 (permalink)  
Antiguo 24/06/2003, 23:13
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 8 meses
Puntos: 8
camargo, pero eso te mandará tantos mails como filas te devuelva la consulta. Por ej, si el query devuelve 100 filas, se te mandarán 100 mails a la misma direccion especificada en $email.

Ivanff, lo que deberias hacer es crear una cadena ^que se valla concatenando dentro del while (tal como hace el amigo camaro) y usar la funcion mail() fuera del bucle.
Código PHP:
$email "[email protected]";
$asunto "Obtencion de la BD MYSQL";

$sql mysql_query("SELECT dato1,dato2,dato3 FROM tabla");
$contenido "Mensaje:\n";
while(
$row=mysql_fetch_array($sql)){

$dato1 $row['dato1'];
$dato2 $row['dato2'];
$dato3 $row['dato3'];
$contenido .= "Dato1: $dato1\n Dato2: $dato2\n Dato3: $dato3\n\n";
}
mail("$email""$asunto"$contenido "From: [email][email protected][/email]"); 
Saludos!
  #4 (permalink)  
Antiguo 25/06/2003, 09:33
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
Es verdad,, jeje,, solo un error de }{ ,, pero si lo tenia pensado como dices, fue solo CERRAR LA LLAVE,, un error que agradezco me hayas corregido ,)

Salu2
__________________
http://www.chorcha.com
  #5 (permalink)  
Antiguo 25/06/2003, 10:04
Avatar de Sav1989  
Fecha de Ingreso: junio-2003
Ubicación: Cap Fed | Colegiales
Mensajes: 50
Antigüedad: 20 años, 10 meses
Puntos: 0
Que buen mail bomber :) ... Muy buena info, no me quedaba clara :) .. saludos.
  #6 (permalink)  
Antiguo 25/06/2003, 11:02
ivanff
Invitado
 
Mensajes: n/a
Puntos:
Si, pero eso no soluciona el problema de si hay varios select y cada uno de ellos da varios resultados.
  #7 (permalink)  
Antiguo 25/06/2003, 11:11
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
Yo creo que ahora tu tarea es aplicar los codigos anteriores que te hemos proporcionado y buscar TU PROPIA SOLUCION,, pues nosotros no fabricaremos al 100% tus necesidades y tu debes cooperar pues esto es nada mas que para tu beneficio y a nosotros nos vale un comino si te saldrá o te servirá para algun trabajo o X labor..

ok. que quede claro esto..
__________________
http://www.chorcha.com
  #8 (permalink)  
Antiguo 24/09/2003, 16:51
Avatar de mapper  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 321
Antigüedad: 21 años, 3 meses
Puntos: 1
Formato complicado.

Hola, de que manera puedo crear un do while dentro de un mail????

A continuacion lo que tengo.

Código PHP:
<?php require_once('Connections/intercambio.php'); ?>
<?php
$maxRows_gpc 
20

if (isset(
$HTTP_GET_VARS['limit'])) {
  
$maxRows_gpc $HTTP_GET_VARS['limit'];
}


$pageNum_gpc 0;
if (isset(
$HTTP_GET_VARS['pageNum_gpc'])) {
  
$pageNum_gpc $HTTP_GET_VARS['pageNum_gpc'];
}
$startRow_gpc $pageNum_gpc $maxRows_gpc;

$colname_gpc "1";
if (isset(
$HTTP_GET_VARS['categoria'])) {
  
$colname_gpc = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['categoria'] : addslashes($HTTP_GET_VARS['categoria']);
}
mysql_select_db($database_intercambio$intercambio);
$query_gpc sprintf("SELECT * FROM intercambio_urls WHERE categoria = '%s' AND validado = 'v'  ORDER BY estrellas DESC"$colname_gpc);
$query_limit_gpc sprintf("%s LIMIT %d, %d"$query_gpc$startRow_gpc$maxRows_gpc);
$gpc mysql_query($query_limit_gpc$intercambio) or die(mysql_error());
$row_gpc mysql_fetch_assoc($gpc);

if (isset(
$HTTP_GET_VARS['totalRows_gpc'])) {
  
$totalRows_gpc $HTTP_GET_VARS['totalRows_gpc'];
} else {
  
$all_gpc mysql_query($query_gpc);
  
$totalRows_gpc mysql_num_rows($all_gpc);
}
$totalPages_gpc ceil($totalRows_gpc/$maxRows_gpc)-1;

mysql_select_db($database_intercambio$intercambio);
$query_user "SELECT * FROM intercambio_users WHERE nick = '$PHP_AUTH_USER'";
$user mysql_query($query_user$intercambio) or die(mysql_error());
$row_user mysql_fetch_assoc($user);
$totalRows_user mysql_num_rows($user);
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="urlsintercambio.css" rel="stylesheet" type="text/css">
<link href="shoutbox.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>
<body text="#FFFFFF">
<div align="center">
  <p><strong><font size="2">(&quot;n&uacute;mero de fotos&quot;,&quot;categor&iacute;a&quot;,&quot;descripci&oacute;n&quot;,&quot;direcci&oacute;n 
    galer&iacute;a&quot;)</font></strong> </p>
  <p align="left">Un email a sido enviado a&quot;<?php echo $row_user['email']; ?>&quot; con el siguiente formato:</p>
</div>
<p>&nbsp; 
</body>
</html>


<?php $email "[email protected]";
$asunto "Obtencion de la BD MYSQL";

$contenido "Mensaje:\n";
while(
$row_gpc mysql_fetch_array($gpc)){

$dato1 $row_gpc['id'];
$dato2 $row_gpc['numero'];
$dato3 =  $row_gpc['numero'];
$dato4 =  $row_gpc['direccion'];
$contenido .= "Dato1: $dato1\n Dato2: $dato2\n Dato3: $dato3\n Dato4: $dato4\n\n";
}
mail("$email""$asunto"$contenido "From: [email][email protected][/email]");
?>

<?php
mysql_free_result
($gpc);

mysql_free_result($user);
?>
Hora, mi problema es que quiero que a la persona le lleguen con este formato todos los resultados:
"número de fotos","categoría","descripción","dirección galería"
Por favor si alguien me puede ayudar se lo agredesco con toda el alma por que es importantisimo.
__________________
-- May The Force Be With You --
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:20.