Foros del Web » Programando para Internet » PHP »

Enviar varios datos de un arreglo por mail con php

Estas en el tema de Enviar varios datos de un arreglo por mail con php en el foro de PHP en Foros del Web. Buenas amigos de foros del web, no se si esta pregunta esta ya hecha por hay eh buscado pero no encuentro lo que quiero, pero ...
  #1 (permalink)  
Antiguo 04/01/2012, 18:32
Usuario no validado
 
Fecha de Ingreso: enero-2010
Ubicación: Maturín, Monagas
Mensajes: 190
Antigüedad: 14 años, 3 meses
Puntos: 24
Pregunta Enviar varios datos de un arreglo por mail con php

Buenas amigos de foros del web, no se si esta pregunta esta ya hecha por hay eh buscado pero no encuentro lo que quiero, pero bueno necesito una mano en algo:

Estoy en un aplicación como un carrito de compras, pero quiero que el usuario se le envie datos de su compra si fue 2 o mas artículos, tengo este script que modifique y le agregue ciertas cosas, el hecho esta que solo me toma el ultimo valor del arreglo y me gustaria que enviara todo:

Código PHP:
Ver original
  1. <?php
  2.     include("../funciones/conecta.php");
  3.     function recuperar_productos(){
  4.     $contador = 0;
  5.     foreach($_SESSION['carro'] as $id => $x){
  6.         $contador++;
  7.         $resultado = mysql_query("SELECT id_producto, nombre, precio FROM productos WHERE id_producto=$id");
  8.         $mifila = mysql_fetch_array($resultado);
  9.         $id = $mifila['id_producto'];
  10.         $producto = $mifila['nombre'];
  11.        
  12.         $producto = substr($producto,0,40);
  13.         $precio = $mifila['precio'];
  14.     ?>
  15.      Id:   <input name="item_number_<?php echo $contador; ?>" size="2" type="text" value="<?php echo $id; ?>"><br>
  16.      Nombre:   <input name="item_name_<?php echo $contador; ?>" size="50" type="text" value="<?php echo $producto; ?>"><br>
  17.      Precio:   <input name="amount_<?php echo $contador; ?>" size="4" type="text" value="<?php echo $precio; ?>"><br>
  18.      Cantidad:   <input name="quantity_<?php echo $contador; ?>" size="2" type="text" value="<?php echo $x; ?>"><br>
  19.      <hr>
  20.     <?php
  21.     }
  22.     $resultado2 = mysql_query("SELECT *FROM usuarios WHERE nombre='".$_SESSION['user_registro']."'");
  23.         $mifila2 = mysql_fetch_array($resultado2);
  24.        
  25.         $usuario=$mifila2['usuario'];
  26.  
  27.     $destinatario = $mifila2['email'];
  28.     $asunto = "Ventas - Compra";
  29.     $cuerpo = '
  30.             <html>
  31.                 <head>
  32.                 <title>VENTAS - Compra con exito</title>
  33.                 </head>
  34.                 <body style=background-color:#A6ACE1; border:1px solid #000>
  35.                 <h1>Hola ';
  36.     $cuerpo .= $usuario;
  37.     $cuerpo .= '</h1><p style=font-size:14px;><b>Gracias por comprar en Ventas </b>.</p>
  38.             <p>Aqui te mostramos a continuacion tu compra sigue los pasos para completar y retirar tus productos :</p>';
  39.     $cuerpo .='<br> Nombre: '.$producto.'<br> Precio: '.$precio.'<br>Cantidad: '.$x.'';
  40.     $cuerpo .= "</body></html>";
  41.     $headers = "MIME-Version: 1.0\r\n";
  42.     $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  43.     $headers .= "From: Admin VENTAS <[email protected]>\r\n";
  44.     $headers .= "Reply-To: [email protected]\r\n";
  45.    
  46.     mail($destinatario,$asunto,$cuerpo,$headers);
  47.    
  48.      echo "Total Articulos: <input name='quantity_<".$contador." size='2' type='text' value=".$_SESSION["cantidadTotal"]."><br>";
  49.      echo "Total Precio: <input name='quantity_<".$contador." size='2' type='text' value=".$_SESSION["totalcoste"]."><br>";
  50.      echo "<p>Volver a la <a href='productos.php' title='lista de productos'>lista de productos</a></p>";
  51. }
  52.     ?>
  53.         <?php
  54.         recuperar_productos();
  55.         ?>

Esta un poco rudimentario pero para probar me muestra que artículos me trae en el arreglo con el "echo" y la función me trabaja bien me envía al correo pero no todo, me gustaría me orienten como hacer que envié todo el arreglo como tal.

Gracias de antemano.
  #2 (permalink)  
Antiguo 04/01/2012, 19:51
Usuario no validado
 
Fecha de Ingreso: enero-2010
Ubicación: Maturín, Monagas
Mensajes: 190
Antigüedad: 14 años, 3 meses
Puntos: 24
Respuesta: Enviar varios datos de un arreglo por mail con php

Bueno ya lo resolví improvisando un poco... les dejo el codigo por si otra persona lo necesita o lo buscan:

Código PHP:
Ver original
  1. $destinatario = $mifila2['email'];
  2.     $asunto = "Ventas - Compra";
  3.     $cuerpo = '
  4.             <html>
  5.                 <head>
  6.                 <title>VENTAS - Compra con exito</title>
  7.                 </head>
  8.                 <body>
  9.                 <h1>Hola ';
  10.     $cuerpo .= $usuario;
  11.     $cuerpo .= '</h1><p style=font-size:14px;><b>Gracias por comprar en Ventas </b>.</p>
  12.             <p>Aqui te mostramos a continuacion tu compra sigue los pasos para completar y retirar tus productos :</p>';
  13.     $cuerpo .='Cantidad total de articulos: '.$total.'<br>';
  14.         foreach($_SESSION['carro'] as $id => $x){
  15.         $contador++;
  16.         $resultado = mysql_query("SELECT id_producto, nombre, precio FROM productos WHERE id_producto=$id");
  17.         $mifila = mysql_fetch_array($resultado);
  18.         $id = $mifila['id_producto'];
  19.         $producto = $mifila['nombre'];
  20.         $producto = substr($producto,0,40);
  21.         $precio = $mifila['precio'];
  22.     $cuerpo .='
  23.     <br>Nombre:   '.$producto.'<br>
  24.     Precio:   Bs. '.$precio.'<br>
  25.     Cantidad: '.$x.'
  26.      <hr style=padding-left:50px>
  27.     ';
  28.     }
  29.     $cuerpo .= '
  30.     <br><br>Total de tu compra: Bs '.$totalprecio.'<br>
  31.    
  32.     ';
  33.     $cuerpo .= "Comunicate a los tlf:";
  34.     $cuerpo .= "</body></html>";
  35.     $headers = "MIME-Version: 1.0\r\n";
  36.     $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  37.     $headers .= "From: Admin VENTAS <[email protected]>\r\n";
  38.     $headers .= "Reply-To: [email protected]\r\n";
  39.    
  40.     mail($destinatario,$asunto,$cuerpo,$headers);


y me imprime algo asi en el correo:
---------------------------------------------------------------------------------------
Cantidad total de articulos: 3

Nombre: impresora epson
Precio: Bs. 500
Cantidad: 1
---------------------------------------------------------
Nombre: Mouse
Precio: Bs. 34
Cantidad: 1
---------------------------------------------------------
Nombre: bateria de lapto acer
Precio: Bs. 42
Cantidad: 1
-------------------------------------------------------

Total de tu compra: Bs 576...
--------------------------------------------------------------------------------------

Etiquetas: arrays, mail, phpmail
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 18:11.