Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

añadir varios registros en cuerpo de mail con php

Estas en el tema de añadir varios registros en cuerpo de mail con php en el foro de Mysql en Foros del Web. buenas, necestito un poco de ayuda, llevo varios dias buscando una solucion pero no encuentro la forma. Os cuento, tengo una base de datos mysql ...
  #1 (permalink)  
Antiguo 13/01/2010, 05:26
 
Fecha de Ingreso: noviembre-2009
Mensajes: 7
Antigüedad: 15 años, 1 mes
Puntos: 0
añadir varios registros en cuerpo de mail con php

buenas, necestito un poco de ayuda, llevo varios dias buscando una solucion pero no encuentro la forma.
Os cuento, tengo una base de datos mysql con los e-mail de mis usuarios y un archivo php que cuando se inserta una noticia automaticamente se envia esa noticia a todos los usuarios, la noticia se recoge mediante un $texto=$_POST['texto']; y el mail de la base de datos.
Pero ahora lo que necesito es que envie las 10 ultimas noticias, y para eso debe recoger las noticias de la base de datos y no mediante $_POST['texto'];, entonces tendria que recoger datos de dos bases de datos distintas, una donde esta el mail y otra donde estan las noticias, y no se como hacerlo.
  #2 (permalink)  
Antiguo 13/01/2010, 05:39
 
Fecha de Ingreso: noviembre-2009
Mensajes: 7
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: añadir varios registros en cuerpo de mail con php

POSTEO EL CODIGO ACTUAL:
Código PHP:
Ver original
  1. <?php
  2. // recogemos las variables enviadas por el formulario
  3. $usuario=$_POST['usuario'];
  4. $texto=$_POST['texto'];
  5.  
  6. // Conectamos a la base de datos
  7. $dbhost='localhost';
  8. $dbusername='---';
  9. $dbuserpass='--';
  10. $dbname='--';
  11.  
  12. // Conectar a la base de datos
  13. mysql_connect ($dbhost, $dbusername, $dbuserpass);
  14. mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');
  15.  
  16. // Si existe, buscamos en la bd
  17. $res=mysql_query("SELECT mail FROM usuarios WHERE sus ='SI'");
  18. while($row = mysql_fetch_array($res)) {
  19.  
  20. // enviamos el email de recuperacion
  21. $headers = "MIME-Version: 1.0\r\n";
  22. $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  23. $headers .= "From: MAIL <[email protected]>\r\n";
  24. mail($row[mail], "Noticia", "<p>Se ha insertado una nueva noticia por $usuario</p><ul>$texto</ul>", $headers);
  25.  
  26. }
  27.    mysql_free_result($res);
  28.      
  29. ?>
  #3 (permalink)  
Antiguo 13/01/2010, 05:47
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 3 meses
Puntos: 188
Respuesta: añadir varios registros en cuerpo de mail con php

Pues si es una base de datos distinta tendrás que abrir una nueva conexion a la base de datos correspondiente, hacer su select y recuperar las noticias que luego volcarás en una variable.

Si son dos tablas distintas en la misma base de datos lo mas normal es que hagas también otra conexión igual a la del mail, pero que solo recuperes las noticias. Es algo que tendrás que hacer a mayores.
  #4 (permalink)  
Antiguo 13/01/2010, 05:51
 
Fecha de Ingreso: noviembre-2009
Mensajes: 7
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: añadir varios registros en cuerpo de mail con php

si claro eso ya lo he hecho pero me envia un mail con cada noticia, al poner row[$texto] me recupera las noticias de una en una, y yo quiero que me muestre TODAS las noticias en el mismo mail y que mande un mail con las 10 noticias.
  #5 (permalink)  
Antiguo 13/01/2010, 06:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: añadir varios registros en cuerpo de mail con php

Tu problema no es de Bases de datos. La base de datos con esta consulta:
Código MySQL:
Ver original
  1. SELECT mail
  2. FROM usuarios
  3. WHERE sus ='SI'
te debe estar devolviendo un conjunto de registros, en tanto sus sea el identificador de usuario o de estado de suscripción (tu sabrás, porque no lo describes).
Entonces, el problema de qué hagas con el conjunto de registros obtenidos no tiene nada que ver con la base de datos, sino con la programación de PHP, por lo que nada tiene que ver con este foro de MySQL.
Postea tu duda en el Foro de PHP, que es donde te lo podrán resolver. En este, por reglas del foro no se debe poner código de programación (ver: Función de la sección de Base de Datos, segundo párrafo final).

En cualquier caso, si no pones en el Foro de PHP estás perdiendo la oportunidad de que te ayuden los expertos en el tema...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: añadir, cuerpo, mail, php, registros
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:22.