A-AA+then

การ query ข้อมูลใน ส่วนนี้ ทำอย่างไรครับ

1,183
$mail->MsgHTML(" Query ")

เป็นส่วนของ Function PHPMailer ส่วนของการใส่ข้อความลงไป

การใส่ข้อความธรรมดาสามารถใส่ได้ปกติ แต่ถ้าต้องการ Query และใส่เงื่อนไขต่างๆใส่เข้าไปไม่ทราบว่ามีวิธีการอย่างไรครับ

12 ความคิดเห็น

ประมาณไหนล่ะ ช่วยขยายความนิดนึง
เอาง่ายๆ คิวรี่ก่อนค่อยเรียกใช้ข้อมูลผ่านตัวแปร

$Query = สั่งคิวรี่อะไรดี;
$mail->MsgHTML($Query );

1

อ้างจากคำถาม$mail->MsgHTML(" Query ")

ถ้าจะ query เอาข้อมูลออกมา ก็ต้อง query ออกมาก่อน แล้วจัดรูปแบบครับ

$mail->MsgHTML() หมายถึงกำหนดค่าข้อความ (รวม HTML) ครับ ค่าที่ส่งให้กับฟังก์ชั่นคือ ข้อความ(string) ครับ
2

    โทษทีคับ พอผมมาลองอย่างนี้ไม่ได้คับ ผมเข้าใจยังไม่ถูกช่ายไหมครับ แล้วการทำที่ถูกต้องต้องยังไงคับ
    
    $a = "<table width='1000' border='0' cellpadding='1' cellspacing='1' bgcolor='#333333' class='Tahoma_gray_underline'>
        <tr>
           <td bgcolor='#6699FF' height='24' colspan='2' align='center'><font size='2'><b>Action Items</b></font></td>
           </tr>
                    <?
                    $sql3 = 'SELECT * FROM work_emp WHERE mail_id='$mail_id_hid' and detail_work != ''';
                    $query3 = mysql_query($sql3);
                    $i = 1;
                    while(@extract($obj3 = mysql_fetch_array($query3))){
        
                     ?>

        <tr>
           <td bgcolor='#FFFFFF' height='24'  width='270' style='padding-left:10px;'><font size='2'><?=$employee?></font></td>
        <td bgcolor='#FFFFFF' style='padding-left:10px;'><font size='2'><?=$detail_work?></font></td>
           </tr>
                    <? $i++; } ?>
        <tr>
       </table>";
    
     $mail->MsgHTML("$a");

    
    
     

3

ก็ถูกนี่

ลอง echo เอาตารางมาแสดงผลดูก่อนดีมั้ย ว่ามันถูกต้องมั้ย ถ้าถูกต้องมันก็จะส่งไปกับเมล์ได้ถูกต้อง

แต่....

1.ส่งเมล์แบบ HTML ต้องรวม header ไปด้วยนะ เหมือนหน้าเว็บ HTML หน้านึงเลย
2.อีเมล์ปลายทาง รองรับการแสดงผลแบบ HTML หรือเปล่า แนะนำให้ลองส่งไป hotmail หรือ yahoo ดู
4

การ query ข้อมูลใน ส่วนนี้ ทำอย่างไรครับ

    ยังไม่ได้ครับผม ทุกอย่างส่งได้ โอเคปกติ Css ออกทุกอย่างคับ แต่ Code query ไม่ออกคับ
    
    ลองเอาคำสั่งไปรันดูผ่านดีคับผม แต่มาทำในหน้านี้ไม่ได้คับ
    
    รูปแบบที่เขียนไปโดยย่อ โดยทั้งหมดอยู่ใน Tag PHP นะคับ
    
    <?PHP
    $a = "<table width='1000' border='0' cellpadding='1' cellspacing='1' bgcolor='#333333' class='Tahoma_gray_underline'>
        <tr>
           <td bgcolor='#6699FF' height='24' colspan='2' align='center'><font size='2'><b>Action Items</b></font></td>
           </tr>
                    <?
                    $sql3 = 'SELECT * FROM work_emp WHERE mail_id='$mail_id_hid' and detail_work != ''';
                    $query3 = mysql_query($sql3);
                    $i = 1;
                    while(@extract($obj3 = mysql_fetch_array($query3))){
        
                     ?>

        <tr>
           <td bgcolor='#FFFFFF' height='24'  width='270' style='padding-left:10px;'><font size='2'><?=$employee?></font></td>
        <td bgcolor='#FFFFFF' style='padding-left:10px;'><font size='2'><?=$detail_work?></font></td>
           </tr>
                    <? $i++; } ?>
        <tr>
       </table>";
    
     $mail->MsgHTML("$a");
    ?>

5

$mail->MsgHTML("$a");

เอา "" ออก
$mail->MsgHTML($a);
6

555+++  ผิดที่ query ครับ ไม่เกี่ยวข้องใดๆกับการส่งเมล์

สิ่งที่ต้องทำคือแก้ปัญหาให้สามารถ query ข้อมูลมาแสดงในตารางให้ถูกต้องก่อนครับ วิธตรวจสอบก็คือ echo ข้อมูลดิบออกมาแล้วเป็นเพจๆนึงเลย

@ ที่ loop ลองเอาออกดูอาจพบข้อผิดพลาดได้ง่ายขึ้น
7

ขอบคุณ มากครับ ทั้ง 2 ท่าน แต่ยังไม่ได้คับ

อ้างจากคำตอบที่ #7555+++  ผิดที่ query ครับ ไม่เกี่ยวข้องใดๆกับการส่งเมล์

สิ่งที่ต้องทำคือแก้ปัญหาให้สามารถ query ข้อมูลมาแสดงในตารางให้ถูกต้องก่อนครับ วิธตรวจสอบก็คือ echo ข้อมูลดิบออกมาแล้วเป็นเพจๆนึงเลย

@ ที่ loop ลองเอาออกดูอาจพบข้อผิดพลาดได้ง่ายขึ้น


ผมได้ลองทำแล้วเอาไปทำที่อื่นออกครับผม

แต่ผมยังงงตรงที่ว่า

<?

$a = " $query  ";

?>


ตรง $query ยังต้องใส่ Tag <?  ?> อยู่อีกไหม เพราะผมลองทั้งใส่ทั้งไม่ใส่ ก็ไม่ได้เหมือนเดิมครับ งงจิงๆ

เลยคิดว่ามันอาจจะเป็นที่จุดๆนี้หรือปล่าวปัญหาที่เกิดขึ้น

สรุปตอนนี้ที่ทำได้คือ ดึงตารางออกมาได้ทั้งหมด แต่การ Query ไม่มา ทั้งที่เอาไปที่อื่น Query ได้ ดู connection Database
ก็ไม่มีไรผิดปกติครับ

งง
8


55+
ใส่
<?php
ครับ
9

$sql3 ถูกต้องหรือเปล่า ลอง echo $sql3 ออกมาแล้วนำไป  query บน phpmyadmin ดู ตรวจสอบผลลัพท์ว่าเป็นไปอย่างที่ต้องการหรือเปล่า

ผมคิดว่าน่าจะรู้แล้วนะ....

<?php
  $a = '<table>';
  $sql3 = "....เขียนคำสั่ง SQL.....";
  ...คำสั่งอื่นๆ...
  while(...เขียนคำสั่งภายใน loop...) {
   // ใส่ข้อมูลลงในแถว
    $a .= "<tr><td>$ข้อมูล1</td><td>$ข้อมูล2</td></tr>";
  }
  $a .= '</table>';
  echo $a;// debug
  $mail->MsgHTML($a);// ส่งเมล์
?>


ที่ผิดคือเขียนคำสั่งผิดนะ ผิดมากๆด้วย
10

พา-งง-จัง

php ถูกครอบด้วย html แล้วครอบด้วย php อีกที

อย่างที่คุณอาว่า
ลอง echo ข้อมูลออกมาดู (ไล่เช็คทีละบันทัดจะได้ไม่สับสน)
11

    เหอๆๆ ขอบคุณครับท่านได้แล้ว ต้องทำอย่างที่ท่านว่า ไปใส่ตารางอย่างที่ผมใส่มันไม่ออก
    
     

12
^