วันพุธที่ 7 มีนาคม พ.ศ. 2555

สอนเพิ่มข้อมูลลงในฐานข้อมูล ด้วยโปรแกรม Dreamweaver + Spry (PHP + MySQL)

เพิ่มข้อมูลลงในฐานข้อมูลด้วยโปรแกรมDreamweaver
      หลังจากที่ผมได้สอนดึงข้อมูลในฐานข้อมูลมาแสดงไปแล้ว  คือ แสดงข้อมูลจากฐานข้อมูล, แสดงและแบ่งหน้าข้อมูล และ แสดงข้อมูลใน Select(List/Menu)
      คราวนี้จะสอนเพิ่มข้อมูลลงในฐานข้อมูลบ้างครับ ซึ่งในโปรแกรมDreamweaverเองก็มีOption จำพวก Insert Record, Update Record, Delete Record อยู่ครับ แต่บทความนี้จะสอนใช้งาน Insert Record ก่อนนะครับ ส่วนที่เหลือจะทยอยสอนในบทความต่อไป
      เริ่มกันเลยนะครับ อันดับแรกให้สร้างไฟล์ .php ขึ้นมา 2 ไฟล์ คือไฟล์ add.php และ add_succ.php
ไฟล์ add.php -> เราจะสร้างฟอร์มกรอกข้อมูล และให้Dreamweaverสร้างโค๊ดPHP เพื่อประมวลผลและบันทึกข้อมูลลงในฐานข้อมูล ในไฟล์นี้ครับ ...ให้ทำตามขั้นตอนดังนี้
+++ ให้ออกแบบฟอร์มให้มีหน้าตาดังรูป โดยไปที่แถบ Spry แล้วเลือก Input ต่างๆ ดังรูป
1.เลือก Input TextField สำหรับกรอกชื่อสินค้า
2.เลือก Input Select(List/Menu) ให้ทำตามในบทความนี้เลยครับ แสดงข้อมูลใน Select(list/menu)
3.เลือก Input TextField สำหรับกรอกจำนวนสินค้า
4.เลือก Input TextField สำหรับกรอกราคาสินค้า
5.เลือก  TextArea สำหรับรายละเอียดของสินค้า
6.ปุ่มเพิ่มสินค้า (โทดที..ลืมติดหมายเลข ^_^'')

+++ จากนั้นให้ตั้งชื่อให้กับ Input ของเราครับ โดยเราจะต้องตั้งชื่อให้ตรงกับฟิลด์ในฐานข้อมูลของเรา ดูจากตัวอย่างดังรูป ซึ่งก็คือ Input ชื่อสินค้า ฟิลด์ที่ใช้เก็บชื่อสินค้าในฐานข้อมูล คือ pd_name ครับ สำหรับ Input ตัวอื่นๆ ก็ใช้หลักการนี้เหมือนกันครับ



+++ จากนั้น เราจะใช้ Spry ของ Dreamweaver เพื่อตรวจสอบความถูกต้องของการกรอกข้อมูลด้วยครับ
+++ เราจะทำ Input ทีละตัวนะครับ โดย Input ตัวแรกคือ ชื่อสินค้า เราจะใช้ Spry บังคับไม่ให้กรอกข้อมูลที่เป็นค่าว่างครับ ให้ทำตามขั้นตอนดังรูป



1.คลิกที่ Spry Textfield ชือสินค้า
2. เลือก Preview States
3.คลิกเลือก Required
4.แก้ไขข้อความแจ้งเตือนให้เป็นภาษาไทย

+++ Input ตัวต่อไปคือ Select(List/Menu) สำหรับเอาไว้ให้เลือกหมวดสินค้าครับ โดยเราจะดึงข้อมูลจากเทเบิลหมวดสินค้ามาแสดงก่อน โดยให้ทำตามบทความนี้ก่อนครับ แสดงข้อมูลใน Select(List/Menu) จากนั้นให้ทำตามขั้นตอนดังรูป


+++ Input ต่อไปคือ Input TextField สำหรับกรอกจำนวนสินค้า โดยเราจะให้ Spry ตรวจสอบข้อมูลต้องไม่เป็นค่าว่างและต้องกรอกข้อมูลที่เป็นตัวเลขเท่านั้น ให้ทำตามขั้นตอนดังรูป


ตรวจสอบการกรอกข้อมูลจำนวนสินค้าห้ามเป็นค่าว่าง

ตรวจสอบการกรอกข้อมูลจำนวนสินค้าต้องเป็นตัวเลขเท่านั้น
ปล.สำหรับราคาสินค้าให้ทำเหมือนจำนวนสินค้าเลยครับ
+++ Input ตัวสุดท้าย คือ TextArea เราจะใช้ Spry ตรวจสอบการกรอกข้อมูลห้ามเป็นค่าว่างและข้อความต้องไม่ต่ำกว่า 5 ตัวอักษร ให้ทำตามขั้นตอนดังรูป
+++ จากนั้นเราจะให้Dremweaverสร้างคำสั่ง Insert Record โดยไปที่แท็บ SERVER BEHAVIORS ทำตามขั้นตอนดังรูป
+++ ปรากฎหน้าต่าง Insert Record ให้ทำตามขั้นตอน ดังรูป

1.เลือกฟอร์ม (ฟอร์มของผมชื่อ form1)
2.เลือกการเชื่อมต่อกับฐานข้อมูล โดยศึกษาเพิ่มเติมได้จากที่นี่-> การสร้างการเชื่อมต่อกับฐานข้อมูล
3.เลือกเทเบิลที่เราจะ Insert ข้อมูลเข้าไป โดยที่ผมเลือก tb_product (เทเบิลสินค้า)
4.เลือกไฟล์ที่จะแสดงหลังจากที่ Insert ข้อมูลเสร็จสมบูรณ์แล้ว โดยผมเลือกไฟล์ add_succ.php

+++ ไฟล์ add_succ.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=windows-874" />
<title>Untitled Document</title>
</head>
<body>
<strong><center>เพิ่มสินค้าเรียบร้อยแล้ว<br />
  <a href="add.php">กลับไปหน้าเพิ่มสินค้า</a>
</center>
</strong>
</body>
</html>

ก็จะได้ผลลัพธุ์ดังนี้

ผมขอยอมรับว่าบทความนี้ผมเขียนได้ไม่ดีซักเท่าไหร่ครับ (รวมถึงบทความอื่นๆด้วย 555)
หากสงสัยหรือติดปัญญาตรงไหน สามารถสอบถามผมได้จากช่องCommentได้เลยนะครับ

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

  1. ถ้าจะทำให้รู้ว่าเพิ่มสินค้าได้แล้ว โดยไม่ต้องขึ้นหน้าใหม่ แต่ให้บนด้านล่างก็ได้ว่า เพิ่มสินค้าสำเร็จแล้ว ต้องทำยังไงครับ

    ตอบลบ
    คำตอบ
    1. นี่เป็นวิธีของผมนะครับ

      1.หน้าต่าง Insert Reocrd (ดูตามรูปข้างบน) ตรง After inserting go,to: ปล่อยว่างไม่ต้องใส่ชื่อไฟล์ (add_succ.php)

      2.แทรก Tag Div พิมพ์ <div id="showmsg"></div>

      3 View code แทรกคำสั่ง PHP ต่อจากคำสั่ง

      $Result1 = mysql_query($insertSQL, $dbconnect) or die(mysql_error());

      คือ

      if($Result1){

      echo "<script>function init(){document.getElementById('showmsg').innerHTML='เพิ่มสินค้าเรียบร้อยแล้ว';}window.onload=init;</script>";

      }

      ลบ
    2. ข้อ 2 แทรก Tag Div คือ จะเพิ่มตรงตำแหน่งไหนก็ได้ครับ ทีอยากให้แสดงข้อความ "เพิ่มสินค้าเรียบร้อยแล้ว"
      ถ้าวิธีนี้ยังไม่เวิร์ค บอกผมได้คับ มีอีกวิธีนึง แต่ลองเอาวิธีนี้ไปทำดูก่อน
      ผมได้ทดสอบเรียบร้อยแล้วครับ ไม่มีปัญหาอะไรครับ

      ลบ
  2. แล้วถ้าเป็น Select(List/Menu) แบบให้เลือกวันที่อ่ะคะ จะต้องทำแบบไหนคะ

    ตอบลบ
    คำตอบ
    1. ลองเอาโค๊ดนี้ไปประยุกต์ใช้ดูนะครับ ^__^
      <!DOCTYPE html>
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>แสดงวันเดือนปีใน Select(List/Menu)</title>
      </head>
      <body>
      <table width="60%" border="0" align="center" cellpadding="3" cellspacing="0" bgcolor="#999999">
      <tr bgcolor="#FFCCCC">
      <td><strong>วัน
      <select name="d" id="d">
      <option value="all">เลือกทั้งหมด</option>
      <? for ($i = 1; $i <= 31; $i++) { ?>
      <option value="<?= $i ?>" <? if ($i == date("d"))
      echo "selected=selected"; ?>>
      <?= $i ?>
      </option>
      <? } ?>
      </select>
      </strong></td>
      <td><strong>เดือน
      <select name="m" id="m">
      <?
      $M = array("มกราคม" => "01", "กุมภาพันธ์" => "02", "มีนาคม" => "03", "เมษายน" => "04", "พฤษภาคม" => "05", "มิถุนายน" => "06", "กรกฎาคม" => "07", "สิงหาคม" => "08", "กันยายน" => "09", "ตุลาคม" => "10", "พฤศจิกายน" => "11", "ธันวาคม" => "12");
      ?>
      <option value="all">เลือกทั้งหมด</option>
      <? foreach ($M as $key => $value) { ?>
      <option value="<?= $value ?>" <? if ($value == date("m"))
      echo "selected=selected"; ?>>
      <?= $key ?>
      </option>
      <? } ?>
      </select>
      </strong></td>
      <td><strong>ปี
      <select name="y" id="y">
      <option value="all">เลือกทั้งหมด</option>
      <?
      for ($i = 2000; $i <= (date("Y")); $i++) {
      ?>
      <option value="<?= $i ?>" <?
      if ($i == date("Y")) {
      echo "selected=selected";
      }
      ?>>
      <?= $i + 543 ?>
      </option>
      <? } ?>
      </select>
      </strong></td>
      <td><strong>
      <input type="button" name="button" id="button" value="ค้นหา" />
      </strong></td>
      </tr>
      </table>
      </body>
      </html>

      ลบ
    2. แล้วมันจะบันทึกลงใน DB ยังไงอ่ะคะ(คิดคอนเซ็ปไม่ออก) >.<

      ลบ
    3. ไม่ยากครับ นำค่าวันเดือนปีที่ส่งมาจากฟอร์ม มาต่อกันแบบสตริงได้เลยครับ ซึ่งจะมีอยู่ 3 ค่า คือ $_POST['d'](วัน),$_POST['m'](เดือน),$_POST['y'](ปี)

      โดยอาจจะต้องเขียนโค๊ดตรวจสอบในแต่ละค่าที่ส่งมาก่อนครับ ว่าเลือกวันเดือนปีทั้ง3ค่าถูกหรือไม่

      จากนั้นก็เอามาต่อกันได้เลยครับ เช่น $date=$_POST['y'].'-'.$_POST['m'].'-'.$_POST['d'];//ปี-เดือน-วัน
      โดยต้องเรียงเป็น ปี-เดือน-วัน นะครับ เพราะฐานข้อมูล MySQL จะใช้รูปแบบการเก็บข้อมูลแบบนี้ครับ

      จากนั้นก็เอาตัวแปร$dateไปใช้ในคำสั่ง insert ได้ครับ

      ลบ
    4. แล้วจะต้องใส่ $_POST['d'](วัน),$_POST['m'](เดือน),$_POST['y'](ปี) ตรงไหนคะ แหะๆๆ พอดีว่าไม่เก่งเรียนโค้ดเลยอ่ะคะ

      ลบ
  3. ถ้าน้องทำตามบทความข้างบนได้แล้ว ให้เปิดโค๊ดดูครับ จะเห็นคำสั่ง
    $insertSQL = sprintf("INSERT INTO tb_product (cg_id, pd_name, pd_detail, pd_amount, pd_price) VALUES (%s, %s, %s, %s, %s)",
    GetSQLValueString($_POST['cg_id'], "int"),
    GetSQLValueString($_POST['pd_name'], "text"),
    GetSQLValueString($_POST['pd_detail'], "text"),
    GetSQLValueString($_POST['pd_amount'], "int"),
    GetSQLValueString($_POST['pd_price'], "double"));

    ให้เพิ่มคำสั่ง pd_date,%s,GetSQLValueString($_POST['y'].'-'.$_POST['m'].'-'.$_POST['d'], "date")
    ตามโค๊ดข้างล่าง
    $insertSQL = sprintf("INSERT INTO tb_product (cg_id, pd_name, pd_detail, pd_amount, pd_price,pd_date) VALUES (%s, %s, %s, %s, %s,%s)",
    GetSQLValueString($_POST['cg_id'], "int"),
    GetSQLValueString($_POST['pd_name'], "text"),
    GetSQLValueString($_POST['pd_detail'], "text"),
    GetSQLValueString($_POST['pd_amount'], "int"),
    GetSQLValueString($_POST['pd_price'], "double"),
    GetSQLValueString($_POST['y'].'-'.$_POST['m'].'-'.$_POST['d'], "text"));

    pd_date คือ ชื่อฟิลด์เก็บวันที่นะครับ
    %s คือ ชนิดข้อมูลเป็นสตริง
    GetSQLValueString($_POST['y'].'-'.$_POST['m'].'-'.$_POST['d'], "date") ส่งค่าไปที่ฟังก์ชั่นเพื่อแปลงข้อมูลให้เป็น date

    ตอบลบ
    คำตอบ
    1. มันขึ้น error ตรง GetSQLValueString($_POST['y'].'-'.$_POST['m'].'-'.$_POST['d'], "date") คะ

      ลบ
    2. ลองเปลี่ยนเป็น GetSQLValueString($_POST['y'].'-'.$_POST['m'].'-'.$_POST['d'], "text") ดูครับ
      และต้องสร้าง Select(List/Menu) ชื่อ d,m,y ให้เรียบร้อยนะครับ

      ลบ
    3. ขอบคุณคะ หาย error แล้วคะ แหะๆ

      ลบ
  4. แล้ว ท่า ข้อมูล list/menu ได้ ทำ การเลือก อันใดอันนึงแล้ว และไม่ต้องให้อันที่เลือกลงฐานไปแล้ว ให้หายไป ต้องทำไง และให้ ขึ้น เฉพาะ ที่ยางไมได่้ เลือกลงฐานละ ต้องทำ ยังไง ครับผมอยากรู้มากเลยละ หาไม่ได้เลยถึงมาถามครับ

    ตอบลบ
    คำตอบ
    1. ลองทำตามวิธีของผมดูนะครับ
      ตัวอย่างเช่น ผมสร้างเทเบิลที่จะเอาไปแสดงใน list/menu ชื่อ tbl_category ผมได้ฟิลด์ 3 ฟิลด์
      ชื่อ id,name,selected
      1.id คือ รหัส (ใช้ชนิดข้อมูลเป็น Int)
      2.name คือ ชื่อหมวด (ใช้ชนิดข้อมูลเป็น Varchar)
      3.selected ใช้เช็คว่าเลือกหรือยัง (ใช้ชนิดข้อมูลเป็น Char)
      ให้ค่าเริ่มต้นเป็น 0 หมายถึงยังไม่ได้เลือก และผมใช้สถานะ 1 หมายถึงเลือกไปแล้ว

      ยกตัวอย่างเช่น
      id | name | selected
      -------------------------
      1 | aaaa | 0
      2 | bbbb | 1
      3 | cccc | 1
      4 | dddd | 0

      เวลาดึงมาแสดง ก็ใช้คำสั่ง SELECT id,name FROM tbl_category WHERE selected='0'
      หมายถึง แสดงข้อมูลที่ยังไม่ได้เลือก จะได้ค่า 2 ค่า คือ aaaa กับ dddd ครับ

      แต่ต่อมาถ้าเราได้เลือก aaaa เราก็ใช้คำสั่ง UPDATE ให้ค่าเป็น 1 ครับ

      หวังค่าคงเข้าใจคอนเซปนะครับ

      ลบ
    2. ขอบคุณมากเลยครับ ช่วยได้มากเลย ไว้ ติดส่วนไหน อาจมาถามอีกคับ

      ลบ
    3. ที่ท่านแนะ นำ มา ใช่ ได้ครับแต่ไม่ตรงที่ผมต้องการครับ

      ของผม ที่ทำ คือ

      มี 2 from from แรก ชื่อ t1 from 2 ชื่อ t2

      t1มีสองฟิว
      id_t1 | name
      ------------
      1 | aaaa
      2 | bbbb
      3 | cccc
      4 | dddd
      5 | eeee
      6 | ffff

      t2 เป็นตัวก็บ มี 3ฟิว จะเป็น เทเบิน ว่าง ที่เราจา เพิ่มข้อมูล

      id | id_ti | day | time
      ------------------------

      ที่ผมอยากรู้คือ ในตาราง t1 มัน ต้อง สามารถ ซ้ำได้แต่ไม่ใช่เวลาเดียวกันเช่น

      ผมมี วัน จัน ถึง ศุกร์ จะมี radio button เป้นตัวเก็บ ของแต่ละวัน
      และมี เวลา เช้า และ บ่าย ก็จะมี radio button2 เป็นตัวเก็บ ของแต่ละเวลา
      และมี list/menu ที่จามีค่า ของ t1 อยุ่

      คำ ถาม ผม จาทำไง ถึง จะทำให้ ข้อมูล list/menu ที่ ลงข้อมูลไปแล้ว หายไป แต่ ข้อมูลนั้น ยังไม่ได้ลง ข้อมูลของเวลาซ้ำ ก็จะยังเห็น เช่น

      id | id_ti | day | time
      ------------------------
      1 | 1 | จัน | เช้า
      2 | 1 | จัน | บ่าย
      3 | 2 | พุธ | เช้า

      ก้คือ ท่า id 1 ของ ti ได้ ลงเวลา เช้า ของ วันจันไปแล้ว ก้ ยังจะสามารถ จะ ลง เวลา บ่าย ของ วันจันได้อีกและ สามรถลง เวลาของวัน อื่นๆๆ ได้อีก แต่ จาไม่สามารถ ลง เวลา เดิมได้

      ที่ผม คิดคือ ผม จา ติก ที่ radio button ของ วัน จัน และ ให้มัน ออนคลิก และส่งค่าไปเช็ก กับ การทำงาน อีกที่ และ ให้ มันส่งค่ากลับ มา เพื่อให้มา ทำการ ว่า วันเวลา นั้น ว่าไหม


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

      ลบ
    4. คิดแบบง่ายๆนะครับ
      แสดงในข้อมูล list/menu ทั้งหมด ไม่ต้องซ่อนอะไรทั้งนั้น
      ใช้วิธีเขียนโค๊ดตรวจสอบ เวลากดปุ่ม บันทึก ก่อนบันทึกให้นำค่าที่เลือก(id_ti,day,time)ไปตรวจสอบว่าถูกบันทึกไปแล้วหรือยัง

      ถ้ายังไม่มีก็บันทึกได้ แต่ถ้าไม่ก็แจ้งเป็นข้อความบอกว่ามีอยู่แล้ว

      ลบ
    5. แล้ว ควร เขียน โค๊ดยังไง ครับ

      ลบ
    6. คร่าวๆนะครับ ผมอ้างอิงตามเทเบิลที่คุณออกแบบมานะครับ

      ตรงHTML ให้แสดงเป็น list/menu ปกติไมต้องซ่อน ดึงค่ามาจากเทเบิ t1 ของน้อง

      <select name="t1_name">
      <option value="1">aaaa</option>
      <option value="2">bbbb</option>
      <option value="3">อื่นๆ</option>
      </select>

      สร้าง list/menu อีกอัน เก็บค่าวันจันทร์-ศุกร์ ไม่ต้องจำเป็นต้องใช้ radio ก็ได้

      <select name="day_name">
      <option value="จันทร์">จันทร์</option>
      <option value="อังคาร">อังคาร</option>
      <option value="พุธ">พุธ</option>
      <option value="พฤหัสบดี">พฤหัสบดี</option>
      <option value="พฤหัสบดี">ศุกร์</option>
      </select>

      สร้าง radio มา 2 ตัว เก็บค่าเช้ากับบ่าย

      <input type="radio" name="time_name" value="เช้า" /> เช้า
      <input type="radio" name="time_name" value="บ่าย" /> บ่าย

      โค๊ด php รับค่า input เหล่านั้นมา จะได้

      $t1_name=$_POST['t1_name'];
      $day_name=$_POST['day_name'];
      $time_name=$_POST['time_name'];
      ดึงข้อมูลจากเทเบิล t2 โดยส่งตัวแปรไปใน where
      $getT2=mysql_query("select count(id) FROM t2 where id_ti='$ti1_name' AND day='$day_name' AND time='$time_name' ");
      $chkT2=mysql_fetch_assoc($getT2);
      if($chkT2[0]=='1'){
      echo 'ข้อมูลนี้อยู่แล้วในฐานข้อมูล';
      }else{
      // ใช้คำสั่ง INSERT ลงฐานข้อมูลตรงนี้ได้เลย
      }

      ลบ
    7. มีอยุ่ว่า
      ที่ท่านบอกว่า ใช่ได้ครับ แต่ มาน ยังขาดไปบ้างยาง บางอย่าง ที่ว่า ผมจา บอกให้ท่านเข้าใจครับ
      งานที่ผมทำ เป้น งาน ของ ตารางสอบ ครับ ในการทำหรือในการเก็บ ข้อมูล และมีการ เก็บไว้ ใน examination_table จะมี วัน(day) ช่วงเวลา(time) รหัสวิชา(subject_id) ปี(year) เทอม(term) รหัสห้องสอบ(coderoom_id) และห้องของนักศึกษา(roomcode)

      และ เวลาจัดห้อง ในความคิดมาก ผมคิดว่า ห้องสอบนั้นควรซ้ำได้ แต่ไม่ ซ้ำเวลาเดียวกันแต่ซ้ำวันได้
      คือ อย่างเช่น ชั้นปี 1 ห้องของนักศึกษา วันจัน เช้า วิชา ไทย สอบห้อง อป101 บ่าย วิชา อังกฤ สอบห้อง อป101 และ ชั้นปี 2 ห้องของน้กศีกษา วันจัน เช้า วิชา สังคม สอบห้อง อป102 บ่าย วิชา วิท สอบห้อง อป102 เป็นต้น ที่ผม คิดกะ แบบที่บอก

      ผมเองก้คิดไม่ออกแล้วครับ ขอโทษ ด้วยท่า รบกวนมากไปครับ

      ลบ
    8. ตัวอย่างข้างบนนี้ สามารถตอบโจทย์ความต้องการของคุณได้ครับ
      ให้สังเกตุคำสั่ง $getT2=mysql_query("select count(id) FROM t2 where id_ti='$ti1_name' AND day='$day_name' AND time='$time_name' ");

      เปลี่ยนตาม exanination_table จะได้
      $getT2=mysql_query("select count(id) FROM exanination_table where day='ค่าจากอินพุต' AND time='ค่าจากอินพุต' AND subject_id='ค่าจากอินพุต' AND year='ค่าจากอินพุต' AND term='ค่าจากอินพุต' coderoom_id='ค่าจากอินพุต' AND roomcode='ค่าจากอินพุต' ");

      //เปลี่ยนคำสั่งใหม่จาก if($chkT2[0]=='1')เป็น if($chkT2[0]>0)

      if($chkT2[0]>0){
      echo 'ข้อมูลนี้อยู่แล้วในฐานข้อมูล';
      }else{
      // ใช้คำสั่ง INSERT ลงฐานข้อมูลตรงนี้ได้เลย
      }

      เอาฟิลด์ทั้งหมดมาตรวจสอบโดยใช้ AND ทั้งหมดครับ จะทำให้ห้องสอบซ้ำได้ แต่วันเวลาไม่ซ้ำครับ

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

      ลบ
    10. ผมมั่นใจว่าใช้ได้ครับ ต้องลองทำดูครับ

      ลบ
    11. ครับผม จาลองผิดลองถูก ดูครับ

      ลบ
  5. ไม่ระบุชื่อ5 ตุลาคม 2555 เวลา 01:01

    ผมอยากรู้วิธีการทำ การชำระเงินอะครับ

    เพราะมันมีการชำระเงินผ่าน paypal หรือพวกบริษัทต่างๆ
    แต่ถ้าจะทำการชำระเงินด้วยตัวเองอะครับ โดยที่ไม่ต้องผ่านพวก paypal

    ทำยังไงหลอ

    ช่วยสอนหน่อยสิครับพี่

    ขอบคุณครับ คุณพี่ php landddddd

    ตอบลบ
    คำตอบ
    1. หมายถึงชำระเงินผ่านทางธนาคารโดยตรงหรือป่าวครับ ไม่ผ่านทางPaypal

      แค่ทำระบบแจ้งการชำระเงินขึ้นมาครับ
      ตัวอย่าง
      แสดงเลขบัญชีของเรา http://www.hostinglotus.com/payment.php
      ฟอร์มแจ้งการชำระเงิน http://www.hostinglotus.com/confirm.php

      เมื่อลูกค้าโอนเงินให้เราเรียบร้อยแล้ว ถึงจะเข้ามาแจ้งชำระเงิน ผ่านทางระบบแจ้งชำระเงิน
      หรือ จะให้แจ้งทางอีเมลก็ได้ครับ ถ้าขี้เกียจทำนะครับ ^^

      ลบ
  6. ไม่ระบุชื่อ5 ตุลาคม 2555 เวลา 12:49

    ไม่ค่อยเข้าใจอะครับ

    จะเอาแบบที่ว่าต้องมีกรอกที่อยุ่ที่จะส่ง กับพวกเลขบัตรเคดิด
    แล้วทำให้มันlink กับdatabase ทำให้เช็คได้ว่า อันไหนจ่ายเงินแล้วหรือยังอะไรประมาณนี้อะครับ
    หรืออาจจะมีเลขโคตที่สามารถเช้คได้ว่า อันไหนจ่ายเงินแล้วอะครับ

    ขอโทษทีนะครับ

    แต่ขอบคุณมากเยย

    ตอบลบ
  7. ไม่ระบุชื่อ7 มกราคม 2556 เวลา 09:55

    พี่คะ ถ้าอยากเอารูปลงฐานข้อมูลด้วยจะใส่โค้ดยังไงหรอคะ

    ตอบลบ
    คำตอบ
    1. มีExtensionให้ใช้อยู่ครับ
      ฟรี -> http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&loc=en_us&extid=1695058&PID=2874929# แต่รองรับแค่Dreamweaver 8 เท่านั้น

      เสียตังค์ $25.95 (ประมาณเกือบ800บาท)->http://www.linecraft.com/dreamweaver-file-upload/extension.php

      และวิธีสุดท้าย คือ เขียนโค๊ดอัพโหลดไฟล์เองครับ
      ลองเอาโค๊ดในบทความที่ผมสอนไปประยุกต์ดูครับ ->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
      หรือดูจากเว็บนี้ครับ
      http://www.thaicreate.com/php/php-html-file-field-upload.html
      http://www.thaicreate.com/php/php-upload-files-mysql.html

      ลบ
    2. ในเว็บของADOBEเอง ก็มีสอนอยู่ครับ -> http://cookbooks.adobe.com/post_Upload_image_to_website__PHP_-16389.html
      ลองCopyโค๊ดมาใช้ดูนะครับ

      ลบ
  8. มีคำถามครับ
    if($username==""||$password=="")
    {
    showMessage('คุณยังไม่ได้ login เข้าระบบ กรุณา login ใหม่ด้วย',"javascript:history.go(-1)");
    echo "../Ineligible.php" ;<--------------------
    exit;
    }

    จากในโค๊ด มีลูกศรครับ ผมอยากให้ มานเป้น การ เปิด หน้า นั้นเลย ผมหา คำ สั่งไม่ได้ พี่ พอจารู้คำสั่งไหมครับ

    ตอบลบ
    คำตอบ
    1. ลองใช้คำสั่ง echo "<script>history.back();</script>"; ดูครับ

      ลบ
  9. ขอโทษนะครับ ถ้าผมอยากจะทำแบบฟอร์มที่กรอกข้อมูลที่เก็บข้อมูลลงฐานข้อมูลไปแล้ว แล้วเรียกขึ้นมาโชว์บางส่วน พร้อมแก้ไขเพิ่มเติมบางส่วนภายในหน้าเว็บเดียวกัน จากนั้นต้องการให้เก็บข้อมูลลงในเรคคอร์ดเดียวกันในฐานข้อมูล ผมจะต้องทำยังไงบ้างครับ ตอนนี้มันแยกเรคคอร์ดกันอ่ะครับ // พอดีเพิ่งหัดใช้อ่ะครับ ขอบคุณล่วงหน้านะครับ ^^

    ตอบลบ
  10. แล้วแบบนี้ทำกับหน้าสมัครสมาชิกได้มั้ยคะ ? กำลังทำหน้าสมัครสมาชิกอยู่ค่ะ

    ตอบลบ