วันจันทร์ที่ 16 มกราคม พ.ศ. 2555

แสดงข้อมูลจากฐานข้อมูลด้วยDreamweaver (PHP+MySQL)

บทความนี้จะสอนใช้โปรแกรมDreamweaverดึงข้อมูลจากฐานข้อมูลมาแสดง โดยที่เราไม่ต้องเขียนคำสั่งขึ้นมาเองเลยครับ เพราะDreamweaverจะสร้างคำสั่งPHP และส่งคำสั่งMySQLคิวรี่ข้อมูลจากฐานข้อมูลมาแสดงให้เราเองครับ แต่ก่อนอื่นคุณต้องศึกษาและทำตามขั้นตอนในบทความนี้ให้ได้ก่อนครับ->สร้างการเชื่อมต่อฐานข้อมูล MySQL ด้วยDreamweaver
++++ ให้สร้างไฟล์ชื่อ pdshow.php และออกแบบฟอร์มดังรูป
ออกแบบไฟล์ pdshow.php
หรือให้พิมพ์คำสั่งHTMLดังนี้
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>แสดงข้อมูลจากฐานข้อมูลด้วยDreamweaver</title>
</head>
<body>
<table width="500" border="0" align="center">
  <tr bgcolor="#CCFF00">
    <td><strong>รหัส</strong></td>
    <td><strong>ชื่อสินค้า</strong></td>
  </tr>
    <tr>
      <td></td>
      <td> </td>
    </tr>
</table>
</body>
</html>

+++ จากนั้นที่ BINDINGS คลิกปุ่ม + แล้วเลือก Recordset (Query) ดังรูป
+++จะปรากฎหน้าต่าง Recordset แสดงขึ้นมาดังรูป

1.ตั้งชื่อให้Recordset
2.เลือกคำสั่งการเชื่อมต่อกับฐานข้อมูล ศึกษาข้อมูลได้จากที่นี่->สร้างการเชื่อมต่อฐานข้อมูล MySQL ด้วยDreamweaver
3.เลือกเทเบิลในฐานข้อมูลของคุณ
4.เลือกคอลัมน์หรือฟิลด์ของเทเบิลของคุณ ในที่นี้ผมเลือกแสดงทั้งหมด (All)
5.จัดเรียงข้อมูล ในที่นี้ผมจัดเรียงตามรหัสสินค้าจากมากไปน้อย (หมายถึงแสดงสินค้าจัดเรียงตามรายการสินค้าที่มาใหม่ล่าสุด)

+++ จะได้ผลลัพธุ์ดังรูปข้างล่าง  โดยคลิกที่มุมมอง Code
จะเห็นได้ว่าในไฟล์ pdshow.php (2) จะมีคำสั่งPHPเพิ่มเข้ามาในไฟล์ โดยคำสั่งเหล่านี้ โปรแกรม Dreamweaver เป็นผู้สร้างให้เราเองครับ และในขวามือคือ BINDINGS Panel (1) จะมีรายการเทเบิลที่เราเลือก ซึ่งก็คือเทเบิล tb_product และฟิลด์ที่เราเลือกทั้งหมด (All) นั่นเองครับ


+++ยังไม่จบครับ ยังมีต่ออีกหลายโล แต่เริ่มหอบแล้วครับ ^__^'' เพราะข้อมูลยังไม่สามารถแสดงได้ เราต้องเลือกข้อมูลจาก BINDINGS Panel โดยลากข้อมูลไปไว้ในช่องคอลัมน์ของตารางดังรูป
 
 +++ จากนั้นให้ทำHightlight (คลุมดำ) ที่แถวของข้อมูล Recordset หรือกดที่ปุ่ม <tr>  ดังรูป

+++ไปที่ SERVER BEHAVIORS และคลิกปุ่ม + แล้วเลือก Repeat Region ครับ เพื่อสร้างคำสั่งวนลูปแสดงรายการสินค้า ดังรูป
+++จะปรากฎหน้าต่าง Repeat Region ขึ้นมา แล้วให้คลิกเลือกที่ All records หมายถึงเลือกแสดงข้อมูลทั้งหมด  และคลิกปุ่ม OK ดังรูป (สำหรับอีก 1 ตัวเลือก คือ 10 Record at a Time หมายถึงจะให้แสดงข้อมูลจำนวนแค่ 10 แถว เราสามารถแก้ไขตัวเลขได้ว่าจะให้แสดงกี่แถว ผมจะสอนทีหลังในเรื่องของการแบ่งหน้าข้อมูล)

 กดปุ่ม F12 เพื่อลองRUNดูผลลัพธุ์ครับ

ถ้าหากได้ผลลัพธุ์เหมือนข้างบนนี้ล่ะก็ ให้แก้ไขโดยพิมพ์คำสั่ง mysql_query(“SET NAMES ‘utf8’”) แทรกเข้าไปให้ไฟล์ pdshow.php ต่อท้ายคำสั่ง mysql_select_db ดังรูป

ก็จะได้ผลลัพธุ์ที่สมบูรณ์ดังนี้

24 ความคิดเห็น :

  1. ทำไมผมเข้าสู่ขั้นตอน Recordset ไม่ไก้เลยครับมันฟ้องทุกครั้งครับว่าเกิดข้อผิดพลาดในการเชื่อมต่อ

    ตอบลบ
    คำตอบ
    1. ต้องทำตามขั้นตอนเหล่านี้ให้ผ่านก่อนครับ
      1.เซตค่า Manage Site ->http://php-for-ecommerce.blogspot.com/2010/09/manage-site-dreamweaver.html
      2.เชื่อมต่อกับฐานข้อมูล->http://php-for-ecommerce.blogspot.com/2012/01/databasemysql-dreamweaver-phpmysql.html

      ปัญหาของน้องน่าจะเกิดจากข้อ 2 ครับ อาจจะใส่รหัสผ่านฐานข้อมูลไม่ถูกต้องครับ

      ลบ
  2. ไม่ระบุชื่อ7 พฤษภาคม 2555 23:50

    ผลที่ได้มันแสดงออกมาในแนวนอน ต้องทำอย่างไรค่ะ

    ตอบลบ
  3. ผมจะอธิบายว่าไงดีนิ ^^''
    ลองเลื่อนกลับไปดูขั้นตอนที่ผมเขียนว่า" จากนั้นให้ทำHightlight (คลุมดำ) ที่แถวของข้อมูล Recordset หรือกดที่ปุ่ม <tr> " ดูนะครับ

    ตอบลบ
    คำตอบ
    1. ความคิดเห็นนี้ถูกผู้เขียนลบ

      ลบ
    2. ถ้าทำได้แล้ว จะเอามาเรียงใหม่โดยให้เรียงชื่อจาก ก-ฮ ทำไงอ่ะคะ

      ลบ
  4. พี่มีตัวอย่างฐานข้อมูลที่ใช้ในการสอนหรือไม่ครับ
    ขออนุญาติให้พี่ช่วยส่งให้หน่อยได้ไหมครับ
    jakkhpon@gmail.com

    ตอบลบ
  5. พี่ครับfilesตัวอย่างที่พี่ใช้สอนเป็นfilesที่ชื่อว่า "exshops" ใช่หรือไม่ครับ
    ที่เป็น files สคริปพร้อมต้วอย่างใช่หรือไม่ครับ

    ตอบลบ
    คำตอบ
    1. ใช้แล้วครับ แต่จะมีไม่ครบทุกบทความที่สอนนะครับ

      ลบ
  6. พี่ครับ ผมขออนุญาติขอตัวอย่างการทำฐานข้อมูลกับ Dreamweaver ด้วยคนได้มั้ยครับ ผมอยากศึกษาด้วย

    E-mail ผม : porkung2531@hotmail.com

    ขอบคุณมากครับ

    ตอบลบ
    คำตอบ
    1. ส่งไปให้แล้วนะครับ ^_^ ผมได้เขียนอธิบายเอาไว้ใน COMMENT ด้วยนะครับ สังเกตุให้ดี

      ลบ
  7. ไม่ระบุชื่อ2 พฤศจิกายน 2555 13:56

    คือ พอแสดงผลเเล้ว ข้อมูลเรียงติดกันหมดเลยค่ะ ทำซ้ำแล้วไม่ขึ้นบรรทัดใหม่ แต่เรียงกันยาวเลย ไม่ทราบต้องทำยังไงคะ

    ตอบลบ
  8. คลิกที่แถวที่จะการจะให้เรียง แล้วคลิกที่ tr (จะอยู่แถบข้างล่าง ตัวจะเล็กหน่อยสังเกตุให้ดี) แล้วเรียกเมนู Repeat region ได้เลยครับ

    ตอบลบ
  9. แล้วถ้าเป็นการจัดเก็บรูปภาพแล้วดึงมาโชว์ต้องทำอย่างไรครับ

    ตอบลบ
    คำตอบ
    1. หมายถึงการอัพโหลดไฟล์และดึงมาโชว์ ด้วย Dreamweaver PHP หรือป่าวครับ
      การอัพโหลดไฟล์ดูได้จาก http://ict.moph.go.th/elearning/phpdwmx/DWMX_CH18_FileUpload.htm
      หรือดูจากในBlogของผมก็ได้ครับ http://php-for-ecommerce.blogspot.com/search/label/%E0%B8%AD%E0%B8%B1%E0%B8%9E%E0%B9%82%E0%B8%AB%E0%B8%A5%E0%B8%94%E0%B8%A3%E0%B8%B9%E0%B8%9B%E0%B8%A0%E0%B8%B2%E0%B8%9E%28upload%20image%29

      ลบ
  10. ไม่ระบุชื่อ17 ธันวาคม 2555 14:41

    Database ผมหาไม่เจอครับ มันอยู่ตรงไหนครับพี่ งงมากเลย ในไฟลที่ให้โหลด

    exshops ก็ไม่มีครับ .sql หรือว่าจะเป็นแบบอื่นครับ มี 2 โฟลเดอร์ อันที่1 น่าจะเป็นไฟล์งานของ vb6 หรือเปล่า

    อันที่ 2 ก็เป็น ex ที่ใช้สอนอ่ะครับ ไม่รู้จะเอา Database มาจากไหนครับพี่ รบกวน Dump ออกมาเลยได้ไหม

    พอดีจะทำเป็นโปรเจค จบ น่ะครับ จักขอบพระคุณอย่างสูง

    ตอบลบ
    คำตอบ
    1. โทดทีครับ ผมลืมใส่ไฟล์ฐานข้อมูลไปด้วย
      ตามนี้เลยครับ->http://php-for-ecommerce.blogspot.com/p/blog-page_18.html

      ลบ
  11. ไม่ระบุชื่อ21 กรกฎาคม 2556 12:45

    http://php-for-ecommerce.blogspot.com/p/blog-page_18.html เข้าดูไม่ได้อะครับ

    ตอบลบ
    คำตอบ
    1. เปิดให้ดาวนโลดแล้วครับผม

      ลบ
  12. ไม่ระบุชื่อ22 พฤษภาคม 2557 11:37

    พี่ค่ะ มันขึ้นข้อความ "an unidentifed error has occurred" ตอนกด test ต้องทำการแก้ไขอย่างไรค่ะ รบกวนด้วยค่ะ

    ตอบลบ
    คำตอบ
    1. วิธีแก้อยู่ตรงนี้ครับ
      http://www.thaicreate.com/php/forum/020870.html

      ลบ
  13. ขอโทษน่ะครับ พอดีผมเพิ่งลองทำครับ checkbox ผมเก็บค่า เป็น y n ผมต้องการจะแสดงค่า Y อย่างเดียวต้องทำไงเหรอครับ ผมลองใช้ Repeat Region แล้ว มันเอาค่า N ออกมาด้วยอ่าคับ

    ตอบลบ
  14. ดึงรูปจากฐานข้อมูลมาแสดงทำยังไงค้ะ

    ตอบลบ
  15. คือผมจะใส่รูปด้วยอ่าครับ ต้องใส่ยังไง

    ตอบลบ