2014-07-23 3 views
0

PHPmailer로 동적 HTML 테이블을 보내려고하고 있는데 어떻게 알 수 있습니까? 모든 테이블에서 변수를 얻을 수 있습니까? 또는 그런 무엇인가?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>"; 
?> 

내가, 당신이 나를 이해할 수있는 당신의 도움에 대한 감사를 바랍니다.

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

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

그런 다음 당신의 메시지로 해당 문자열을 사용하면 출력 테이블에 에코 사용하고 output buffering로 캡처하지만, 일반적으로는 다음과 같이 문자열에 메시지 본문을 조립하기 쉽게 할 수 있지만

+0

테이블 내부에 테이블 또는 변수를 보내시겠습니까? –

답변

1

신체. 동일한 코드를 사용하여 이메일 내용으로 웹 페이지 출력을 생성 한 경우 해당 스크립트를 어느 곳에서나 호출 할 수있는 함수로 변환하십시오.

+0

이것은 매력처럼 작동합니다! 도움 주셔서 감사합니다. – user3810795

0
ob_start(); 

echo 'all my lines of code'; 

$contenido = ob_get_clean(); 

위의 내용은 첫 번째 줄과 마지막 줄 사이의 모든 것을 캡처합니다.

관련 문제