2014-07-23 109 views
0

我想發送一個動態的HTML表格與PHPmailer,但我不知道如何,是posible獲取所有表的變量​​?或類似的東西 ?通過PHPmailer發送HTML表格

這裏是我的代碼:

require("inc/class.phpmailer.php"); 
$mail = new PHPMailer(); 
$mail->CharSet = 'UTF-8'; 
$mail->From  = ('[email protected]'); 
$mail->FromName = ('Compras CO (KWBTA)'); 
$mail->AddAddress($_POST['providermail']); 
$mail->AddCC("[email protected]");  
$mail->IsHTML(true);   


//IF SUBMIT, SEND MAIL 
if (isset ($_POST['send_approve'])) { 
$mail->Subject = "Kantar Worldpanel - Solicitud de Cotización"; 
$contenido = 'Kantar Worldpanel Perú S.A. Sucursal Colombia desea solicitar a ustedes la cotización correspondiente a los siguientes Items:<br>'; 

//////////////////////////////////////////// 
$contenido .= ' The Table should be here; 
/////////////////////////////////////////// 

$mail->Body = $contenido; 
$mail->Send(); 
header ("Location: RequestsPA.php"); 
} 

這裏是表代碼:

<?php 
$sqlStr = "SELECT items.CA_id, items.item_id, items.item_Cant, items.CECO_cod, items.item_desc, items.item_enduser 
FROM items where CA_id = ".$CA_id; 
$sqlStrAux = "SELECT count(*) as total FROM items"; 

$aux = Mysql_Fetch_Assoc(mysql_query($sqlStrAux)); 
$query = mysql_query($sqlStr); 

if($aux['total']>0){ 

    echo "</br></br>"; 
    echo "<div class='datagrid'>"; 
    echo "\t<table class=\"tablesorter\">\n"; 
    echo "<thead>"; 
    echo "<tr> 
     <th>Item</th> 
     <th>Cantidad</th> 
     <th>CECO</th> 
     <th>Descripción de solicitud</th> 
     <th>Usuario final</th>   
     </tr>\n"; 
    echo "</thead>";  
     echo "<tbody>"; 
     $r=0; 
     while($row = mysql_fetch_assoc($query)){ 
    echo "\t\t<tr class=\"row$r\"> 
      <td>".htmlentities($row['item_id'])."</td> 
      <td>".htmlentities($row['item_Cant'])."</td> 
      <td>".htmlentities($row['CECO_cod'])."</td> 
      <td>".$row['item_desc']."</td> 
      <td>".$row['item_enduser']."</td> 
       </tr>\n"; 
     if($r%2==0)++$r;else--$r; 
    } 
    echo "</tbody>";     
    echo "\t</table>\n"; 
    } 
    echo "</div>"; 
?> 

我希望你能理解我,感謝您的幫助。

+0

你想發送表或表內的變量? –

回答

1

雖然你可以回聲用它來輸出表格,並與output buffering捕捉它,但通常它更容易組裝郵件正文中的字符串,像這樣:

$contenido = ''; 
if($aux['total']>0){ 

    $contenido .= "</br></br>"; 
    $contenido .= "<div class='datagrid'>"; 
    $contenido .= "\t<table class=\"tablesorter\">\n"; 
    $contenido .= "<thead>"; 
    ... 

然後,只需使用該字符串爲您的留言身體。如果您使用相同的代碼生成網頁輸出作爲您的電子郵件內容,然後將該腳本轉換爲可以從任一位置調用的函數。

+0

這個,就像一個魅力! 感謝您的幫助 – user3810795

0
ob_start(); 

echo 'all my lines of code'; 

$contenido = ob_get_clean(); 

以上將捕獲第一行和最後一行之間的所有內容。