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

    私はmysqlテーブルから電子メールでhtmlテーブルを作成しようとしています。私が持っている問題は、電子メールのテーブルが最後の結果のみを表示していることです。私はhtml電子メールテーブルに複数の結果表示を表示する方法についてはわかりません。データベースからのPEAR MIME htmlテーブルは1行だけを送信します

    は、電子メール

    $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

    関連する問題