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

$mail->MsgHTML(" Query ")



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



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



15 ก.ย. 2553 12 2,038

ประมาณไหนล่ะ ช่วยขยายความนิดนึง

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



$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
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^