2017-02-28 16 views
1

これについてどうすればよいか分かりません。私は電子メールで渡したいPHP関数を持っています。質問は私がしたい、簡単な表を渡すことができないという事実以外に、私はPHP関数がHTMLメールで使用されるように変数に変換されました

$EmailTbl = pmEmailTbl($JobNumber) 

のようなものにするには、この

function pmEmailTbl($JobNumber) 
{ 

include('pmconnect.php'); 
$sql = "SELECT tblUnitMaster.UnitID, tblUnitMaster.JobNumber, tblUnitMaster.Scope, tblJobMaster.JobNumber, tblJobMaster.UnitQty, tblJobMaster.SalesEng, tblJobMaster.PriorityCode, tblJobMaster.SalesNote, tblUnitMaster.JobCode, tblUnitMaster.ModelNumber, tblUnitMaster.RTU FROM tblJobMaster\n" 
. "LEFT JOIN tblUnitMaster\n" 
. "ON tblJobMaster.JobNumber=tblUnitMaster.JobNumber\n" 
. "WHERE tblUnitMaster.JobNumber = '" . $JobNumber . "' "; 
$result=$conn->query($sql); 

echo "<style>"; 
echo "th {"; 
echo "background-color: #6EB4FF;"; 
echo "color: white;"; 
echo "}"; 

echo "</style>"; 

echo "<table border=2 cellpadding=2 cellspacing=5>"; 

echo "<tr>"; 
echo "<th><b><font size=3>"."Job"."</font></b></th>"; 
echo "<th><b><font size=3>"."Tag"."</font></b></th>"; 
echo "<th><b><font size=3>"."Model Number"."</font></b></th>"; 
echo "<th><b><font size=3>"."Sales Eng"."</font></b></th>"; 
echo "<th><b><font size=3>"."Priority"."</font></b></th>"; 
echo "<th><b><font size=3>"."Scope"."</font></b></th>"; 

echo "</tr>"; 

while ($row=$result->fetch_array()) 
    { 
    echo "<tr>"; 
    echo "<td><font color=black size=3>",substr($row[0],0,4) , $row[8] , substr($row[0],4,3),"</font></td>"; // Unit Number 
    echo "<td><font color=black size=3>".$row[10]."</font></td>"; //RTU Number 
    echo "<td><font color=black size=3>".$row[9]."</font></td>"; // Model Number 
    echo "<td><font color=black size=3>".$row[5]."</font></td>"; // SalesEng 
    echo "<td><font color=black size=3>".$row[6]."</font></td>"; // PriorityCode 
    echo "<td><font color=black size=3>".$row[2]."</font></td>"; // Scope 

    echo "</tr>"; 
    } 
echo "</table>"; 

echo "<br>"; 

} 

から行くのですか、私は電子メールでは問題がない方法です。私は添付ファイルとしてテーブルを送信しないようにしようとしています。

EDIT

これは、電子メール用のコードです。これはちょうどそれと同じように動作します。

$JobNumber=1111; 
$JobCode='F'; 
$SalesNote='Sales note for job handoff'; 
$quote='Forest Quote'; 
$JobNumberCode = substr($JobNumber,0,4) . $JobCode ; 

$to = ''; 

$headers['From'] = 'forest'; 
$headers['Subject'] = $JobNumberCode . " Job Handoff"; 

// create MIME object 
$mime = new Mail_mime; 

// add body parts 
$html = '<html><body><p>Job: ' . $JobNumber . ' has been handed off from sales.</p> 
<p>Please review and assign an Engineer as soon as possible.</p> 


<table border=2 cellpadding=4 cellspacing=10> 

<tr> 
<th><b><font color=STEELBLUE size=3>Note</font></b></th> 
</tr> 

<tr> 
<td><font color=black size=2>' . $SalesNote . '</font></td> 
</tr> 

</table> 

<p>Visit master record for Job info.</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); 
+0

このスクリプトで電子メールを送信することは実際には何もしていません。この動的に作成されたテーブルを含む電子メールをどのように送信するかを尋ねていますか? –

+0

このlibを見てください。https://github.com/PHPMailer/PHPMailer –

+0

@ObsidianAgeこのスクリプトは電子メールを送信していないことをよく知っています。そのスクリプトは単にテーブルのためのものです。私は電子メールに問題はないと言ったように。問題は電子メールが私がそれに持っていたいテーブルを持っていないことです。 – elliottdan

答えて

1

あなたの機能pmEmailTableは、テーブルを構築するためにechoステートメントを使用しています。これらは、作成した文字列を変数に格納して関数の最後に戻すように変更する必要があります。

function pmEmailTbl($JobNumber) 
{ 
    // Skipped to first use of echo to start example 
    $table = "<style>"; // Here you start by replacing your first echo with $table = 
    $table .= "th {"; // You will notice here that we use $table .= to replace echo 
    $table .= "background-color: #6EB4FF;"; // .= will concatenate your new string 
    $table .= "color: white;"; //to the end of the existing variable 
    $table .= "}"; 
    // Keep replacing echos till you get to the last one 
    return $table; //This you add at the end of the function to return the table 
} 

私は簡潔にするための束を切り取らしましたが、基本的にこれは、あなたが不足しているものです。現在はechoを使用しています。すべてのエコーは、いくつかのコンテンツを出力します。ここでは、あなたの関数の最後にreturnという変数にその内容を格納したいとします。あなたの関数はあなたがそれを$EmailTbl = pmEmailTbl($JobNumber)と呼ぶ方法で使用することができ、テーブルを生成して保存することができます$EmailTbl

+0

これ以上説明できますか? – elliottdan

+0

確かに、私はもっと幸せになるでしょう!私はあなたのためにもう少し詳細に私の答えを更新しました@elliottdan –

+0

ありがとうございました。私は今問題があるだけです、私は最後の列にランダムにジョブ番号を取得しています。 image http://imgur.com/a/oznx4を参照してください。それ以外は、テーブルが私の望むように電子メールで送られました。 – elliottdan

関連する問題