Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: มีคำถามเกี่ยวกับ MySQL ครับ

  1. #1
    Senior Member
    Join Date
    Oct 2007
    Location
    Udon Thani
    Posts
    148


    คือตอนนี้ผมกำลังทำเว็บๆนึงอยู่น่ะครับ แล้วเผอิญว่าเว็บที่ผมทำเนี่ย มันต้องแสดงอายุของสมาชิกได้ด้วย แต่เวลาสมัคร ผมอยากให้กรอกเป็นวันเกิดมากกว่า (ใช้เป็นแบบ Drop Down List) แล้วตอนแสดงอายุก็ใช้ code php แปลงเอา

    เกริ่นนำมาซะนาน ผมอยากทราบว่าจะเก็บข้อมูลที่ได้จากการกรอกวันเกิดอย่างไร (ผมต้องสร้างตาราง 3 คอลัมน์แล้วเก็บเป็นชื่อ day month year หรือไม่ครับ)

    ขอบคุณล่วงหน้าครับ >_< (ช่วงนี้ไม่ค่อยได้เข้ามาเล่นเลย งาน+เรียนหนักมาก T^T )
    PS. Link ใดที่ผมโพสท์แล้วเสีย,โหลดไม่ได้ PM หาผมได้นะครับ</span>

  2. #2
    Senior Member
    Join Date
    Dec 2007
    Location
    Thailand
    Posts
    121


    Post

    ผมเองก็ไม่ค่อยเก่งนะครับ แต่ถ้าเป็นผมใช้เก็บเป็น datetime เอาน่าจะได้นะครับส่วนพวก
    การเลือกวันเกิดผมหาโหลด javascript มาใช้ แบบว่าจะขึ้นเป็นปฎิทินให้เลือกครับ

  3. #3
    Jedi Global Moderator
    Join Date
    Aug 2007
    Location
    Bangkok
    Posts
    136


    จริงๆ มันมีหลายวิธีมากในการเก็บอย่างที่คุณ Black_Phonix ต้องการ
    1. ใช้ datetime ที่เป็น ฟิลด์เดียว ตัวหน้า web แยกเป็น 3 ช่อง แล้วใช้ PHP ต่อ String แล้ว ใส่ในช่อง datetime ครับผม
    2. แยกเป็น 3 ช่อง คือ วัน,เดือน,ปี type เป็น char หรือ int ก็ได้ แล้วเก็บ แบบ 3 ช่อง ตอนแสดง ก็้ต้องเอามาต่อ String แล้ว Convert เป็น datetime

    **Hidden Content: To see this hidden content your post count must be 1 or greater.**

  4. #4
    Senior Member
    Join Date
    Oct 2007
    Location
    Udon Thani
    Posts
    148


    ขอขอบคุณท่านทั้ง 2 นะครับสำหรับความคิดเห็น แต่ตอนนี้ผมกำลังเจอศึกหนักเพราะ INSERT ข้อมูลผ่าน Form ไม่ได้ ^^"

    PS.คิดว่ายังจะต้องถามอีกเยอะอยู่เหมือนกัน แต่ต่อนนี้ขอจัดการปัญหาจุดนี้ก่อนละครับ
    PS. Link ใดที่ผมโพสท์แล้วเสีย,โหลดไม่ได้ PM หาผมได้นะครับ</span>

  5. #5
    Senior Member
    Join Date
    Oct 2007
    Location
    Udon Thani
    Posts
    148


    เกิดข้อสงสัยขึ้นอีกแล้วครับ

    ปัญหาคือผมเลือกข้อ 1 โดยใช้ code นี้รวม String ครับ

    Code:
    $date=$_POST[&#39;date&#39;];
    $month=$_POST[&#39;month&#39;];
    $year=$_POST[&#39;year&#39;];
    $birthdate = $year."-".$month."-".$date;
    โดยที่ String ที่ได้ (จากที่ผมลองใช้ echo ดู) จะได้ประมาณนี้ครับ YYYY-mm-dd

    จากนั้นผมก็เอาลงฐานข้อมูลด้วย VALUES &#39;date($birthdate)&#39; แต่ก็เอาลงไม่ได้ซักที เลยสงสัยว่าผมทำผิดขั้นตอนไหนบ้างครับ
    PS. Link ใดที่ผมโพสท์แล้วเสีย,โหลดไม่ได้ PM หาผมได้นะครับ</span>

  6. #6
    Jedi Global Moderator
    Join Date
    Aug 2007
    Location
    Bangkok
    Posts
    136


    INSERT INTO ชื่อtable VALUES (&#39;$birthdate 00:00:00&#39;

    คือต้องใส่ข้อมูลให้ตรงกับ format ของ MySQL ด้วยครับ เพราะ Datetime ใน MySQL เป็น format YYYY-MM-DD HH:MM:SS
    ดังนั้นต้องใส่ให้ครบครับผม แล้วก็ไม่ต้องแปลงจาก String เป็น Date ด้วย Function Date()

    เพราะสามารถใส่เป็น Text ได้เลย แต่ต้องให้ตรงกับ Format ของ Date ใน MySQL เท่านั้นเอง

    ข้อควรระวังคือ อันไหนที่เป็น String ถ้าตัวแปรได้เป็นค่าว่าง (Null) ต้องใส่เครื่องหมาย Single Quote (&#39 หน้าและหลังตัวแปร
    แต่ถ้าเ็ป็นตัวแปรชนิดตัวเลขไม่ต้องใส่ เพราะมีผลในการ INSERT ลงหรือไม่ลงด้วยครับ


  7. #7
    Senior Member
    Join Date
    Oct 2007
    Location
    Udon Thani
    Posts
    148


    ขอบคุณท่าน hinalove นะครับ ตอนนี้ Insert ข้อมูลลงได้ครบทุก field แล้วครับ แต่ยังสงสัยอยู่ (ขอรบกวนอีกนิดนะครับ ^^")

    ถ้าสมมติว่าผมจัดเก็บข้อมูลเป็นตัวเลขแทน (ex. ผมที drop down menu ที่ให้เลือกเกี่ยวกับราศีที่เกิด เช่น ถ้าคนเลือก Aries ก็ให้เก็บในฐานข้อมูลเป็นเลข 1 เป็นต้น) แล้วเวลาที่ผมอยากจะเอาข้อมูลมาแสดงโดยข้อมูลที่แสดงนั้น เป็นข้อมูลตัวอักษรที่เราสื่อถึงในตอนแรก (ไม่ให้แสดงเป็นตัวเลข) จะมีหลักการทำอย่างไรครับ
    PS. Link ใดที่ผมโพสท์แล้วเสีย,โหลดไม่ได้ PM หาผมได้นะครับ</span>

  8. #8
    Junior Member
    Join Date
    Dec 2006
    Location
    PET'18
    Posts
    0


    ไฟล์ที่ใช้แสดงผลเก็บเป็นอาเรย์ (&#39;A&#39;, &#39;B&#39

    เวลาแสดงผลก็อ้างถึงอาเรย์ index นั้นๆ

    อาจทำ table ไว้เก็บชื่อก็ได้

  9. #9
    Jedi Global Moderator
    Join Date
    Aug 2007
    Location
    Bangkok
    Posts
    136


    ถ้าสมมติว่าผมจัดเก็บข้อมูลเป็นตัวเลขแทน (ex. ผมที drop down menu ที่ให้เลือกเกี่ยวกับราศีที่เกิด เช่น ถ้าคนเลือก Aries ก็ให้เก็บในฐานข้อมูลเป็นเลข 1 เป็นต้น) แล้วเวลาที่ผมอยากจะเอาข้อมูลมาแสดงโดยข้อมูลที่แสดงนั้น เป็นข้อมูลตัวอักษรที่เราสื่อถึงในตอนแรก (ไม่ให้แสดงเป็นตัวเลข) จะมีหลักการทำอย่างไรครับ

    ตอบคุณ Black_Phoenix นะครับ
    [hide=1]กรณีที่ถามมา ใช้ได้หลายแบบมากครับ
    [code] วิธีที่ 1

  10. #10
    Junior Member
    Join Date
    May 2009
    Posts
    10


    ใช้ Type เป็น Date ก็ได้ครับ Date จะเก็บ วัน เดือน ปี เท่านั้น
    เวลา Insert ก็ง่าย ใส่ตาม Format YYYY-MM-DD เลย
    เวลา Query ก็สามารถใช้ function date ใน MySql ช่วยได้ง่ายขึ้น
    จะ Select เฉพาะ ปี หรือ เดือน มาเลยก็ได้ เวลารับข้อมูลมาใช้ จะได้ง่ายขึ้น

    มีตัวอย่าง Function php แปลง Date เป็น ComboBox ลองดูครับ

    [code]
    function gen_ymd($list_name,$ymd){

    list($y, $m, $d) = split(&#39;/&#39;,$ymd);

    if($y == 0){$y = "";}
    if($m == 0){$m = "";}
    if($d == 0){$d = "";}

    $nd = "_d";
    $nm = "_m";
    $ny = "_y";
    $mm = array(&#39;&#39;,&#39;ม.ค./Jan&#39;,&#39;ก.พ./Fab&#39;,&#39;มี.ค./Mar&#39;,&#39;เม.ย./Apr&#39;,&#39;พ.ค./May&#39;,&#39;มิ.ย./Jun&#39;,&#39;ก.ค./Jul&#39;,&#39;ส.ค./Aug&#39;,&#39;ก.ย./Sep&#39;,&#39;ต.ค./Oct&#39;,&#39;พ.ย./Nov&#39;,&#39;ธ.ค./Dec&#39;

    /******** Gen Date DropDown **********/
    $tem = "<select name=\"$list_name$nd\">\n";
    if ($d == ""){

Page 1 of 2 12 LastLast

Similar Threads

  1. Replies: 2
    Last Post: 20-02-2009, 07:05 PM
  2. Replies: 2
    Last Post: 31-01-2009, 09:42 PM
  3. Replies: 0
    Last Post: 02-02-2008, 03:45 PM
  4. Replies: 0
    Last Post: 28-11-2007, 11:17 PM
  5. Replies: 1
    Last Post: 11-12-2006, 03:59 AM

Members who have read this thread : 0

Actions : (View-Readers)

There are no names to display.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •