Foros del Web » Programando para Internet » PHP »

Concatenar resultado de consulta en email

Estas en el tema de Concatenar resultado de consulta en email en el foro de PHP en Foros del Web. Hola amigos. Estoy usando la funcion mail y todo funciona bien, excepto por una parte en donde debo mostrar los datos de una consulta. Está ...
  #1 (permalink)  
Antiguo 29/11/2012, 10:47
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Pregunta Concatenar resultado de consulta en email

Hola amigos. Estoy usando la funcion mail y todo funciona bien, excepto por una parte en donde debo mostrar los datos de una consulta. Está mal concatenado y no logro hacerlo bien. Este es mi código:

Código PHP:
Ver original
  1. $destinatario = "$email, [email protected]";
  2. $asunto = utf8_decode("Pre-Reservación exitosa");
  3. $cuerpo = '
  4. <html>
  5. <head></head>
  6.  
  7. <body>
  8.  
  9. <div id="cuerpo">
  10.     <table class="reserva">
  11. <tr>
  12. <td colspan="4" align="center"><a href="http://www.vamonosdevacaciones.com.ve" target="_blank"><img src="http://www.vamonosdevacaciones.com.ve/images/logo2.jpg"></a><br />
  13. </td>
  14.  
  15.  
  16. </tr>
  17.     <tr>
  18.     <td colspan="4"> Hola, '.$nombre.' !</td>
  19.     </tr>
  20.    
  21.     <tr>
  22.     <td colspan="4"></td>
  23.     </tr>
  24.  
  25.     <tr>
  26.     <td colspan="4">Te informamos que sí tenemos disponibilidad en la posada para la fecha de tu elección, tu Reservación Nº '. $n_reservacion. ' estará abierta por
  27.     48 horas, contadas a partir del envío de este mensaje, mientras realizas tu pago.
  28.     </td>
  29.     </tr>
  30.  
  31.     <tr>
  32.     <td colspan="4">Te invitamos a hacer clic sobre el siguiente enlace y revisar</td>
  33.     </tr>
  34.  
  35.     <tr>
  36.     <td colspan="4">
  37.     <a href="http://www.vamonosdevacaciones.com.ve/como_pagar.php">¿Cómo puedo hacer el pago de mis vacaciones?</a>
  38.     </td>
  39.     </tr>
  40.  
  41.     <tr>
  42.     <td colspan="4"></td>
  43.     </tr>
  44.  
  45.     <tr>
  46.     <th colspan="2" align="center" class="reserva">RESERVACIÓN Nº ' .$n_reservacion.'</th>
  47.     </tr>
  48.  
  49.     <tr>
  50.     <td class="reserva_1">Cliente:</td>
  51.     <td colspan="2">'.$nombre.'</td>
  52.     </tr>
  53.  
  54.     <tr>
  55.     <td class="reserva_1">Cédula o Rif:</td>
  56.     <td colspan="2">'.$letraci. '-'. $ci. '</td>
  57.     </tr>
  58.  
  59.     <tr>
  60.     <td class="reserva_1">Teléfono:</td>
  61.     <td colspan="2">'.$telefono.'</td>
  62.     </tr>
  63.  
  64.     <tr>
  65.     <td class="reserva_1">Email:</td>
  66.     <td colspan="2">'.$email.'</td>
  67.     </tr>
  68.  
  69.     <tr>
  70.     <td class="reserva_1">Nombre de la Posada:</td>
  71.     <td colspan="2">'.$nombre_posada.'</td>
  72.     <input type="hidden" name="nombre_posada" value="'.$nombre_posada.'">
  73.     </tr>
  74.  
  75.     <tr>
  76.     <td class="reserva_1">Nombre del Plan:</td>
  77.     <td colspan="2">'.$nombre_plan.'</td>
  78.     <input type="hidden" name="id_plan" value="'.$id_plan.'">
  79.     </tr>
  80.  
  81.     <tr>
  82.     <td class="reserva_1">Incluye:</td>
  83.     <td colspan="2">'.$incluye.'</td>
  84.     </tr>
  85.  
  86.     <tr>
  87.     <td class="reserva_1">Llegada:</td>
  88.     <td colspan="2">'.$fecha1.'</td>
  89.     </tr>
  90.  
  91.     <tr>
  92.     <td class="reserva_1">Salida:</td>
  93.     <td colspan="2">'.$fecha2.'</td>
  94.     </tr>
  95.  
  96.     <tr>
  97.     <td class="reserva_1">Duración:</td>
  98.     <td colspan="2">'.$totalDays . ' dias y ' .$totalNoches . ' noches'.'</td>
  99.     </tr>
  100.  
  101.     <tr>
  102.     <td class="reserva_1">Cantidad Adultos:</td>
  103.     <td colspan="2">'.$adultos . ' adultos '.'</td>
  104.     </tr>
  105.  
  106.     <tr>
  107.     <td class="reserva_1">Niños Menores 6 años:</td>
  108.     <td colspan="2">'.$ctdad_ninos_me . ' niños '.'</td>
  109.     </tr>
  110.  
  111.     <tr>
  112.     <td class="reserva_1">Niños Mayores 6 años:</td>
  113.     <td colspan="2">'.$ctdad_ninos_may . ' niños '.'</td>
  114.     </tr>
  115.  
  116.     <tr>
  117.     <td class="reserva_1">Nº Habitaciones:</td>
  118.     <td colspan="2">'.$n_habitaciones . ' Habitaciones '.'</td>
  119.     </tr>
  120.  
  121.     <tr>
  122.     <td class="reserva_1">Tipo de Habitacion:</td>
  123.     <td colspan="2">'.
  124.    
  125.     $rs2 = mysql_query("SELECT * FROM hab_reservacion WHERE id_reservacion='$id_reservacion'");
  126.     while ($result = mysql_fetch_array($rs2)) {
  127.         $tipo_habitacion[] = $result['tipo_habitacion'];
  128.     }  
  129.         foreach($tipo_habitacion as $habitacion_c) {
  130.                
  131.             echo $habitacion_c.'<br>';
  132.     }
  133.     '
  134.     </td>
  135.    </tr>
  136.  
  137.     <tr>
  138.     <td class="reserva_1">Precio:</td>
  139.     <td colspan="2">'.'Bs. ' .$precio_subtotal. ',00' . ' +  IVA'.'</td>
  140.     </tr>
  141.  
  142.     <tr>
  143.     <td class="reserva_1">Precio Total:</td>
  144.     <td colspan="2">'.'Bs. ' .$total. ',00'.'</td>
  145.     </tr>
  146.  
  147.     <tr>
  148.     <td colspan="4" class="texto_bajo">
  149.     El envío de la factura original se realiza por MRW y tiene un costo adicional de Bs. 50 (opcional)
  150.     </td>
  151.     </tr>
  152.  
  153.     <tr>
  154.     <td colspan="4" class="texto_bajo">
  155.     Cotización válida por 5 días, precios sujetos a cambio sin previo aviso
  156.     </td>
  157.     </tr>
  158.  
  159.     <tr>
  160.     <td colspan="4">El estatus de su reservación es: '.$estatus.'</td>
  161.     </tr>
  162.  
  163.     </table>
  164. </div>
  165. </body>
  166. </html>
  167. ';
  168. //Envío en formato HTML
  169. $headers = utf8_decode("From: Vámonos de Vacaciones [email protected]\r\n");
  170. $headers .= 'MIME-Version: 1.0' . "\n";
  171. $headers .= "Content-type: text/html; charset=UTF-8\r\n";
  172.  
  173. //Dirección del remitente
  174.  
  175. //Dirección de respuesta (Puede ser una diferente a la de [email protected])
  176. $headers .= "Reply-To: [email protected]\r\n";
  177.  
  178. //direcciones que recibián copia  
  179. $headers .= "Cc:  [email protected]\r\n";
  180. //direcciones que recibirán copia oculta  
  181. $headers .= "Bcc: [email protected], [email protected]\r\n";
  182.  
  183. mail($destinatario,$asunto,$cuerpo,$headers);

Por favor me pueden indicar porque no está bien...

Gracias
__________________
Caminando con el corazón partío
  #2 (permalink)  
Antiguo 29/11/2012, 12:43
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Concatenar resultado de consulta en email

Por favor necesito ayuda....

Mi problema está aquí:

Código PHP:
Ver original
  1. <td colspan="2">'.
  2.    $rs2 = mysql_query("SELECT * FROM hab_reservacion WHERE id_reservacion='$id_reservacion'");
  3.    while ($result = mysql_fetch_array($rs2)) {
  4.        $tipo_habitacion[] = $result['tipo_habitacion'];
  5.    }  
  6.        foreach($tipo_habitacion as $habitacion_c) {
  7.                
  8.            echo $habitacion_c.'<br>';
  9.    }
  10.    '
  11.     </td>

??????
__________________
Caminando con el corazón partío
  #3 (permalink)  
Antiguo 29/11/2012, 14:15
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: Concatenar resultado de consulta en email

Creo que puedes lograr eso mas facilmente en la consulta de sql , por ej:

Código MySQL:
Ver original
  1. SELECT CONCAT(dato1, ' ', dato2) As dato1ydato2 FROM nombredelatable;

Saludos,

Espero haber entendido tu problema.
  #4 (permalink)  
Antiguo 29/11/2012, 15:20
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Concatenar resultado de consulta en email

Creo que no tiene nada que ver con mi caso. El problema es mezclar el html que está en el cuerpo de la funcion mail con las instrucciones php.

Pero no se porque no me sirve, me imagino que es algo con las comillas....

?????
__________________
Caminando con el corazón partío
  #5 (permalink)  
Antiguo 29/11/2012, 18:14
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Concatenar resultado de consulta en email

Sigo intentando pero nada funciona.

Por favor de verdad necesito ayuda con esto....

Alguien que sepa por favor explíqueme.

Gracias
__________________
Caminando con el corazón partío
  #6 (permalink)  
Antiguo 29/11/2012, 21:30
 
Fecha de Ingreso: noviembre-2012
Mensajes: 66
Antigüedad: 11 años, 4 meses
Puntos: 10
Respuesta: Concatenar resultado de consulta en email

Primero la consulta, luego recoges, luego montas la variable con foreach y por último concatenas en el mensaje, pero no puedes concatenar un código de consulta a base de datos en mitad de una variable que estas definiendo.

Código PHP:
<?php
$rs2 
mysql_query("SELECT * FROM hab_reservacion WHERE id_reservacion='$id_reservacion'");
while (
$result mysql_fetch_array($rs2)) 
{
    
$tipo_habitacion[] = $result['tipo_habitacion'];
}  
foreach(
$tipo_habitacion as $habitacion_c
{
           
        
$habitaci.=$habitacion_c.'<br>';
}
    
$destinatario "$email, [email protected]";
    
$asunto utf8_decode("Pre-Reservación exitosa");
    
$cuerpo '
    <html>
    <head></head>
     
    <body>
     
    <div id="cuerpo">
        <table class="reserva">
    <tr>
    <td colspan="4" align="center"><a href="http://www.vamonosdevacaciones.com.ve" target="_blank"><img src="http://www.vamonosdevacaciones.com.ve/images/logo2.jpg"></a><br />
    </td>
     
     
    </tr>
        <tr>
        <td colspan="4"> Hola, '
.$nombre.' !</td>
        </tr>
       
        <tr>
        <td colspan="4"></td>
        </tr>
     
        <tr>
        <td colspan="4">Te informamos que sí tenemos disponibilidad en la posada para la fecha de tu elección, tu Reservación Nº '
$n_reservacion' estará abierta por
        48 horas, contadas a partir del envío de este mensaje, mientras realizas tu pago.
        </td>
        </tr>
     
        <tr>
        <td colspan="4">Te invitamos a hacer clic sobre el siguiente enlace y revisar</td>
        </tr>
     
        <tr>
        <td colspan="4">
        <a href="http://www.vamonosdevacaciones.com.ve/como_pagar.php">¿Cómo puedo hacer el pago de mis vacaciones?</a>
        </td>
        </tr>
     
        <tr>
        <td colspan="4"></td>
        </tr>
     
        <tr>
        <th colspan="2" align="center" class="reserva">RESERVACIÓN Nº ' 
.$n_reservacion.'</th>
        </tr>
     
        <tr>
        <td class="reserva_1">Cliente:</td>
        <td colspan="2">'
.$nombre.'</td>
        </tr>
     
        <tr>
        <td class="reserva_1">Cédula o Rif:</td>
        <td colspan="2">'
.$letraci'-'$ci'</td>
        </tr>
     
        <tr>
        <td class="reserva_1">Teléfono:</td>
        <td colspan="2">'
.$telefono.'</td>
        </tr>
     
        <tr>
        <td class="reserva_1">Email:</td>
        <td colspan="2">'
.$email.'</td>
        </tr>
     
        <tr>
        <td class="reserva_1">Nombre de la Posada:</td>
        <td colspan="2">'
.$nombre_posada.'</td>
        <input type="hidden" name="nombre_posada" value="'
.$nombre_posada.'">
        </tr>
     
        <tr>
        <td class="reserva_1">Nombre del Plan:</td>
        <td colspan="2">'
.$nombre_plan.'</td>
        <input type="hidden" name="id_plan" value="'
.$id_plan.'">
        </tr>
     
        <tr>
        <td class="reserva_1">Incluye:</td>
        <td colspan="2">'
.$incluye.'</td>
        </tr>
     
        <tr>
        <td class="reserva_1">Llegada:</td>
        <td colspan="2">'
.$fecha1.'</td>
        </tr>
     
        <tr>
        <td class="reserva_1">Salida:</td>
        <td colspan="2">'
.$fecha2.'</td>
        </tr>
     
        <tr>
        <td class="reserva_1">Duración:</td>
        <td colspan="2">'
.$totalDays ' dias y ' .$totalNoches ' noches'.'</td>
        </tr>
     
        <tr>
        <td class="reserva_1">Cantidad Adultos:</td>
        <td colspan="2">'
.$adultos ' adultos '.'</td>
        </tr>
     
        <tr>
        <td class="reserva_1">Niños Menores 6 años:</td>
        <td colspan="2">'
.$ctdad_ninos_me ' niños '.'</td>
        </tr>
     
        <tr>
        <td class="reserva_1">Niños Mayores 6 años:</td>
        <td colspan="2">'
.$ctdad_ninos_may ' niños '.'</td>
        </tr>
     
        <tr>
        <td class="reserva_1">Nº Habitaciones:</td>
        <td colspan="2">'
.$n_habitaciones ' Habitaciones '.'</td>
        </tr>
     
        <tr>
        <td class="reserva_1">Tipo de Habitacion:</td>
        <td colspan="2">'
.$habitaci.
        
'
        </td>
       </tr>
     
        <tr>
        <td class="reserva_1">Precio:</td>
        <td colspan="2">'
.'Bs. ' .$precio_subtotal',00' ' +  IVA'.'</td>
        </tr>
     
        <tr>
        <td class="reserva_1">Precio Total:</td>
        <td colspan="2">'
.'Bs. ' .$total',00'.'</td>
        </tr>
     
        <tr>
        <td colspan="4" class="texto_bajo">
        El envío de la factura original se realiza por MRW y tiene un costo adicional de Bs. 50 (opcional)
        </td>
        </tr>
     
        <tr>
        <td colspan="4" class="texto_bajo">
        Cotización válida por 5 días, precios sujetos a cambio sin previo aviso
        </td>
        </tr>
     
        <tr>
        <td colspan="4">El estatus de su reservación es: '
.$estatus.'</td>
        </tr>
     
        </table>
    </div>
    </body>
    </html>
    '
;
    
//Envío en formato HTML
    
$headers utf8_decode("From: Vámonos de Vacaciones [email protected]\r\n");
    
$headers .= 'MIME-Version: 1.0' "\n";
    
$headers .= "Content-type: text/html; charset=UTF-8\r\n";
     
    
//Dirección del remitente
     
    //Dirección de respuesta (Puede ser una diferente a la de [email protected])
    
$headers .= "Reply-To: [email protected]\r\n";
     
    
//direcciones que recibián copia  
    
$headers .= "Cc:  [email protected]\r\n";
    
//direcciones que recibirán copia oculta  
    
$headers .= "Bcc: [email protected][email protected]\r\n";
     
    
mail($destinatario,$asunto,$cuerpo,$headers);
saludos
  #7 (permalink)  
Antiguo 03/12/2012, 11:51
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Concatenar resultado de consulta en email

Muchas gracias, me funcionó como indicaste :)
__________________
Caminando con el corazón partío

Etiquetas: concatenar, email, html, mysql, resultados
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 14:09.