php
  • html
  • email
  • pear
  • mime
  • 2016-08-26 2 views 0 likes 
    0

    mysql 테이블의 전자 메일에서 html 테이블을 채우려합니다. 내가 가지고있는 문제는 전자 메일의 테이블이 마지막 결과 만 표시한다는 것입니다. html 전자 메일 표에 둘 이상의 결과 표시 방법을 잘 모르겠습니다.PEAR MIME html 테이블에서 한 행만 전송

    이메일

    $sql = "SELECT * FROM tblUnitMaster WHERE JobNumber = '" . $JobNumber . "'"; 
    $result=$conn->query($sql); 
    while ($row=$result->fetch_array()) 
        { 
        $UnitID = $row[0]; 
        $JobCode = $row[5]; 
        $RTU = $row[17]; 
        $ModelNumber = $row[2]; 
        $SerialNumber = $row[3]; 
        $Scope = $row[4]; 
        } 
    

    이메일 문자열

    require 'Mail.php'; 
    require 'Mail/mime.php'; 
    
    $to = '$FUSER'; 
    
    $headers['From'] = '[email protected]'; 
    $headers['Subject'] = $JobNumber . " Job Handoff"; 
    
    // create MIME object 
    $mime = new Mail_mime; 
    
    // add body parts 
    $html = '<html><body><p>Job: ' . $JobNumber . ' has been handed off from sales. Priority set as ' . $PriorityCode . ' .</p> 
    <p>Please review and assign an <a href="http://fisenusa.net/pm/pmAssignEngineer2.php?JobNumber=' . $JobNumber. '"> Engineer </a> as soon as possible.</p> 
    
    <table border=2 cellpadding=4 cellspacing=10> 
    
    <tr> 
    <th><b><font color=STEELBLUE size=3>Unit Number</font></b></th> 
    <th><b><font color=STEELBLUE size=3>Job Code</font></b></th> 
    <th><b><font color=STEELBLUE size=3>RTU</font></b></th> 
    <th><b><font color=STEELBLUE size=3>Model Number</font></b></th> 
    <th><b><font color=STEELBLUE size=3>Scope</font></b></th> 
    </tr> 
    
    <tr> 
    <td><font color=DIMGRAY size=2>' . $UnitID . '</font></td> 
    <td><font color=DIMGRAY size=2>' . $JobCode . '</font></td> 
    <td><font color=DIMGRAY size=2>' . $RTU . '</font></td> 
    <td><font color=DIMGRAY size=2>' . $ModelNumber . '</font></td> 
    <td><font color=DIMGRAY size=2>' . $Scope . '</font></td> 
    </tr> 
    
    </table> 
    
    <p>Click link to vist master record of Job Number: <a href="http://fisenusa.net/pm/pmUnitMaster2.php?JobNumber=' . $JobNumber. '">' . $JobNumber . '</a></p> 
    
    <p>Thank You,</p> 
    <p>FOREST</p> 
    <p>' . $quote . '</p> 
    </body></html>'; 
    
    $mime->setHTMLBody($html); 
    
    // get MIME formatted message headers and body 
    $headers = $mime->headers($headers); 
    $body = $mime->get(); 
    
    $message =& Mail::factory('mail'); 
    $message->send($to, $headers, $body); 
    

    답변

    1

    첫 번째 단계에 대한 변수를 초기화합니다. 배열에 데이터를 집계해야합니다. 예를 들어

    $data = array(); 
    while ($row=$result->fetch_array()) 
    { 
        $data[] = array(
         'UnitID' => $row[0], 
         'JobCode' => $row[5], 
         'RTU' => $row[17], 
         'ModelNumber' => $row[2], 
         'SerialNumber' => $row[3], 
         'Scope' => $row[4], 
        ); 
    } 
    

    초 단계 당신 예를 들어 루프에서 연결 문자열 :

     foreach ($data as $row) { 
         $html .= 
         '<tr> 
         <td><font color=DIMGRAY size=2>' . $row['UnitID'] . '</font></td> 
         <td><font color=DIMGRAY size=2>' . $row['JobCode'] . '</font></td> 
         <td><font color=DIMGRAY size=2>' . $row['RTU'] . '</font></td> 
         <td><font color=DIMGRAY size=2>' . $row['ModelNumber'] . '</font></td> 
         <td><font color=DIMGRAY size=2>' . $row['Scope'] . '</font></td> 
         </tr>'; 
    
    } 
    
    +0

    귀하의 제안을 시도하는 후. 나는 PHP를 알아요 통지 : 정의되지 않은 인덱스 : 그들 모두를 위해. 적어도 내가 테이블의 마지막 줄을 가져 오기 전에. – elliottdan

    +0

    주십시오. 나에게 코드를 보여줘. –

    +0

    나는 다른 길로 갔다. 그래도 고마워. – elliottdan

    관련 문제