Foros del Web » Programando para Internet » PHP »

Enviar datos consulta SQL por email

Estas en el tema de Enviar datos consulta SQL por email en el foro de PHP en Foros del Web. Hola buenas! Suelto el tópico; hace mucho que os leo, pero nunca he posteado hasta hoy XDDD. Esta página me ha sido de gran ayuda ...
  #1 (permalink)  
Antiguo 05/11/2012, 23:24
Avatar de Cujo77  
Fecha de Ingreso: septiembre-2012
Ubicación: Manresa
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta Enviar datos consulta SQL por email

Hola buenas!
Suelto el tópico; hace mucho que os leo, pero nunca he posteado hasta hoy XDDD. Esta página me ha sido de gran ayuda desde hace muchísimo tiempo; mil gracias antes de nada.

Bueno, después del peloteo os pongo mi consulta:

La página donde estoy trabajando actualmente es un catálogo para una inmobiliaria. En ella, entre otras cosas los clientes pueden guardar sus pisos favoritos, para realizar consultas posteriores. Para esto guardo en una variable de sesión los distintos IDs de cada piso o casa y en la pagina /personal.php hago una consulta a la BBDD sobre estos IDs

Hasta ahi todo correcto. El problema me surge al intentar que los clientes puedan enviarse ese listado de pisos con su información (enlace a fotografias, datos...) a su email. Realmente lo que quiero es una copia de lo que el usuario lee en pantalla en /personal.php en su correo.

He probado de mil maneras, con la libreria MAIL, incluso con PHPMAILER, pero no consigo enviar los datos cargados desde la BBDD de todos los pisos de una vez, ya que MAIL y PHPMAILER si en el cuerpo del correo que envio intento poner bucles o condicionales me dan error.

Lo único que me queda, crear un array con los datos de la consulta; y desde ahi con un bucle que envie varios mails; pero yo quiero poder tener toda la información en un mismo mail!

De todas maneras, estoy abierto a sugerencias, ya que llevo bastantes semanas con este problema y quiero dejarlo cerrado cuanto antes.
GRACIAS!!
  #2 (permalink)  
Antiguo 05/11/2012, 23:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Enviar datos consulta SQL por email

Necesitas emplear algo mas de ingenio, evidentemente necesitas construir la cadena del cuerpo con tus bucles pero concatenando las variables sin imprimirlas.

Te sugiero copiar tu script y corregirlo poco a poco para que sirva únicamente para dicho fin.

Ese es el único fallo en tu concepto, igual si muestras algo podría alguien ayudarte mejor.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 05/11/2012, 23:40
Avatar de Cujo77  
Fecha de Ingreso: septiembre-2012
Ubicación: Manresa
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Enviar datos consulta SQL por email

Esto es lo que tengo actualmente en la funcion PHPMAILER

$mail_cl es el email del cliente
$nom es el nombre del cliente

Código:
$mail = new PHPMailer();
$mail->Host = "localhost";
 
$mail->From = "XXX@YYYY";
$mail->FromName = "Nombre_empresa";
$mail->Subject = "EMPRESA - Informacion immueble";
$mail->AddAddress($mail_cl,$nom);


$body = "".while($row=mysql_fetch_array($rs)){."

		<ul style='list-style-type: none;'>
		<li>Población:".$row['poblacio']."</li>
		<li>Referencia:".$row['expedient']."</li>
		<li>Operación:".$row['operaciocas']."</li>
		<li>Finca:".$row['tipuscas']."</li>
		<li>Metros:".$row['sup']."</li>
		<li>Baños:".$lab."</li>
		<li>Habitaciones:".$hab."</li>
		</ul>".}."";

$mail->Body = $body;
$mail->AltBody = "s";
$mail->Send();
Este código falla. He intentado que el BODY del mail se genere con un bucle con el contenido de la BBDD pero no hay manera
Lo he probado con una consulta individual y funciona sin problemas (quitando el bucle, claro :) ).
  #4 (permalink)  
Antiguo 05/11/2012, 23:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Enviar datos consulta SQL por email

El error es muy claro:
Código PHP:
// MAL

$foo = while (/* ... */) {// etc...

// BIEN

$foo '...';

while (
/* ... */) {
  
$foo .= '<tag>';
  
$foo .= $var;
  
$foo .= '</tag>';
}

$foo .= '...'
Lee, analiza y reflexiona.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 06/11/2012, 00:06
Avatar de Cujo77  
Fecha de Ingreso: septiembre-2012
Ubicación: Manresa
Mensajes: 3
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Enviar datos consulta SQL por email


Madre mia, como no he pensado en que tenia que hacerlo así!!! A veces la mente se cierra

Lo voy revisando y ya os digo algo

MUCHISIMAS GRACIAS


Edito: Con la solucion:
$body = "Has pedido información sobre estos inmuebles: <br>";
while($row=mysql_fetch_array($rs)){
$body .= "<ul style='list-style-type: none;'>";
$body .= "<li><img src='";
$body .= $foto;
$body .= "'/></li><li>Población:";
$body .= $row['poblacio'];
$body .= "</li><li>Referencia:";
$body .= $row['expedient'];
$body .= "</li><li>Operación:";
$body .= $row['operaciocas'];
$body .= "</li><li>Finca:";
$body .= $row['tipuscas'];
$body .= "</li><li>Metros:";
$body .= $row['sup'];
$body .= "</li><li>Baños:";
$body .= $lab;
$body .= "</li><li>Habitaciones:";
$body .= $hab."</li></ul><br><br>";
}

Vuelvo a darte las gracias, me has sacado de un apuro

Última edición por Cujo77; 06/11/2012 a las 11:38 Razón: Fixed!

Etiquetas: email, sql, variables, usuarios
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:40.