2017-03-29 4 views
0

ここでは、私はここでやりたいことは、MYSQLiを使用してデータベーステーブルからすべての行とその値を使用してPHPメールを生成することです方法。Mysqliを使用してHTMLでデータベーステーブルのすべての値を持つ動的PHPメール

表形式 ndr_confirm_id | オーダーID(INT)| tracking_no(BIGINT)| ステータス(0,1)|表中UPDATE_TIME 推定行:50-100

私はテーブルで利用可能なALL行からの値を示していますPHPメール内のテーブルを生成したいです。

<?php 

ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 
$con=mysqli_connect("localhost","admin","ABC1234!","my_krty");//database connection 


$date = date('Y-m-d'); 
$e_date = date('d-m-Y'); 

//Email Receiver// 
    $to = "[email protected]"; 

    //From Header// 
    $header = "From: MyKrty<[email protected]>"."\r\n"; 
    $header .= "MIME-Version: 1.0" . "\r\n"; 
$header .= "Content-type:text/html; charset=ISO-8859-1" . "\r\n"; 

    // Subject // 
    $subject = "Request"; 


    // Message // 
    $message = "<html> 
    <head> 
     <title></title> 
     <link href='https://fonts.googleapis.com/css?family=Pacifico|Varela+Round' rel='stylesheet' /> 
    </head> 
    <body style='font-family: ' varela=''> 

     <table align='center' border='0' cellpadding='5' style='background-color:#f2f2f2; border-radius:5px; color:#333333; padding:7px; width:85%;'> 
      <tbody> 
       <tr> 
        <td style='text-align: center;'> 
         <strong>Tracking AWB</strong></td> 
        <td style='text-align: center;'><strong> 
         Order ID #</strong></td> 

       </tr>"; 
$get_ndr = mysqli_query($con,"SELECT * FROM `oc_ndr_confirm` WHERE `status`='0'"); 
while ($row = mysqli_fetch_array($get_ndr)) 
{ 
$order_id = $row['order_id']; 
$tracking_no = $row['tracking_no']; 
foreach($row as $value){ 

$message. = "<tr><td style='text-align:center;'><strong>".$value['tracking_no']."</td><td style='text-align:center;'>".$value['order_id']."</td></tr>"; 
     }} 

$message.= "   </tbody> 
     </table> 
     <p> 
      &nbsp;</p> 
     <p> 
      &nbsp;</p> 

     <p> 
      We request you to kindly re-schedule the following above at your earliest.</p> 

    </body> 
</html> \r\n";  

    //Send Mail// 
    $mail_send = mail($to,$subject,$message,$header); 

多くのスレッドを試しましたが、私は配列をあまり理解していないので、わかりません。メール機能は正常に動作していますが、テーブル内に1つの行しか受け付けておらず、両方の列に2という値があります。

最後に言及したスレッドは、How to Send Email with all Products in the Cartです。

しかし、あまりにも混乱しているので、上記のスレッドを参照することはできませんでした。

答えて

1

コードには2つの小さな編集があります。 まず、あなたのHTMLに小さなエラーがあります。 次に、変数にdb値を設定するwhileループがあります。余分なforeachループは必要ありません。

<body style='font-family: varela'> 


while ($row = mysqli_fetch_array($get_ndr)) { 
    $order_id = $row['order_id']; 
    $tracking_no = $row['tracking_no']; 
    $message. = "<tr><td style='text-align:center;'><strong>".$tracking_no."</td><td style='text-align:center;'>".$order_id."</td></tr>"; 
} 
+0

チャームのように働いた! – Alpha

関連する問題