ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingช่วยหน่อยครับ เกี่ยวกับ PHP และ SQL
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ช่วยหน่อยครับ เกี่ยวกับ PHP และ SQL  (อ่าน 1608 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
tarusame
ก๊วนเสียว
*

พลังน้ำใจ: 37
ออฟไลน์ ออฟไลน์

กระทู้: 376



ดูรายละเอียด เว็บไซต์
« เมื่อ: 03 กันยายน 2012, 11:14:26 »

คืองี้ครับ ผมได้ทำเว็บเกี่ยวกับบทเรียนสำเร็จรูป แล้วทีนี้ ผมขอกล่าวรูปแบบเกี่ยวกับเว็บคร่าวๆนะครับ

เป็นบทเรียนสำเร็จรูปครับ โดยเมื่อ Login เข้าระบบ แล้วเราก็จะเข้าสู่บทเรียน (พอเข้าสู่บทเรียน มันจะให้เราทำ Pretest ก่อน) (ข้อสอบ Pretest นั้น เป็นการรันด้อม ครับ)

[Random โดยใช้คำสั่ง ORDER BY rand() ในส่วนของ การเรียกจาก mySQL]

ประเด็น.....คือ.... พอทำข้อสอบเสร็จ ให้ข้อสอบที่ถูก Random แล้วเรากด ตรวจคำตอบ ก็จะเข้าสู่บทเรียน แต่ ใน Post test เราอยากได้ข้อสอบที่ถูก random ตอน Pretest กลับมาทำใน Post test อีกครั้งครับ (งงกันไหม)

ผมได้สร้างฐานข้อมูล มา 2 ชุด คือ check_test กับ quize

check_test ก็คือ จะเก็บว่า student ID นั้น ทำ pretest ข้อไหนไปแล้วบ้าง
รูปแบบ ตารางจะเป็นแบบนี้
qz_ = จำนวนข้อสอบทั้งหมด แล้วก็บันทึกว่า แต่ละ student ID ทำข้อไหนแล้วบ้าง
-----------------------------------------------------
|  Std_id  |   qz_1  | qz_2  | qz_3  | qz_4  | qz_5 |
-----------------------------------------------------

quize ก็คือ เก็บข้อสอบครับ
-----------------------------------------------------
|  qz_id  |   qz_title  | c_1  | c_2  | c_3  | c_4 |
-----------------------------------------------------

สิ่งที่ผมต้องการตอนนี้ก็คือ "ดึงข้อสอบออกมา โดยอ้างอิงจาก Check_test ครับ"

เผื่อใคร งง ก็คือ check_test จะเป็นตัวชี้ว่าจะเอาจาก quiz ข้อไหนออกมาโดยอ้างอิงจาก student id ครับ

ถ้าพูดให้เห็นภาพคือ นักเรียนที่เข้ามาทำ Pretest โดยข้อสอบจะรันด้อม
พอหลังจากนั้นทำบทเรียนเสร็จ แล้วมาทำ Post Test ข้อสอบ Post Test จะต้องเหมือนกับ pretest ที่เคยทำครั้งล่าสุด
2 seconds ago · Like


รบกวนต้องการความช่วยเหลือครับ

หากใครมีวิธีที่ดีกว่านี้ รบกวน ช่วยชี้แนะหน่อยครับ

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

« แก้ไขครั้งสุดท้าย: 03 กันยายน 2012, 12:21:48 โดย tarusame » บันทึกการเข้า

เว็บโฮสติ้ง ราคาเริ่มต้น 300 บาท/ปี, จดโดเมนเนม, VPS, Co-Location, รับประกันคุณภาพ
บริการดีเป็นกันเอง บริการสอนการใช้งานพื้นฐาน ฟรี เจ้าของโฮสติ้งมีตัวตน มีเซิฟเวอร์เอง (วางในประเทศไทย)

http://www.SMHosting.in.th
สนใจบริการติดต่อ 095 565 5917 (TrueMove H) หรือ [email protected]
Facebook
guzzilar
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 48
ออฟไลน์ ออฟไลน์

กระทู้: 494



ดูรายละเอียด
« ตอบ #1 เมื่อ: 03 กันยายน 2012, 11:50:36 »

สร้าง table 1 ตัว

ตัวนึงเก็บ แบบทดสอบก่อนเรียน แล้วสร้าง column ประมาณนี้ครับ
--------------------------------------
| id | student_id | quiz_id | status |

แล้วใน quiz_id ก็เอาเลขที่แรนด้อมมาได้มา implode(',',$ค่าแรนด้อม)เก็บลงไป
ทีนี้ในตารางตัวแรกก็จะเก็บข้อมูลลักษณะนี้

-------------------------------------------------------
| id | student_id | quiz_id | status |
| 1 | 001........ | 1,2,3,4 | ...1.. |

แล้วเวลาจะใช้ก็ไป explode(',' ,$quiz_id); ออกมา ก็จะได้ค่าเป็นอาเรย์ แล้วเอาอาเรย์ที่เก็บไอดีของโจทย์นั้นๆไปคิวรี่โจทย์นั้นๆออกมาใช้

ตย.
$array = explode(',' ,$query['quiz_id']);

จะได้ค่าเป็น
$array[0] (มีค่าเป็น 1)
$array[1] (มีค่าเป็น 2)
$array[2] (มีค่าเป็น 3)
$array[3] (มีค่าเป็น 4)

เอาอาเรย์พวกนี้ล่ะไปคิวรี่ข้อสอบออกมา

Edit - แก้ไขความสวยงาม
« แก้ไขครั้งสุดท้าย: 03 กันยายน 2012, 11:51:49 โดย guzzilar » บันทึกการเข้า

Rest in Home
kobkung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 103
ออฟไลน์ ออฟไลน์

กระทู้: 1,312



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 03 กันยายน 2012, 13:19:58 »

มันก็ไม่ได้ยากนินา มองวิธีออกแล้วเกือบหมด หลักๆ คือ เก็บค่า random จาก pretest ให้ได้ เก็บเข้าเบส แล้วเอาตัวนี้ไปทำ posttest โดยสุ่มหรือไม่ก็แล้วแต่ แค่นี้เอง  ดูโค้ด rep บน เก็บแบบ array หรือเก็บแยก row ก็ได้ แล้วแต่
บันทึกการเข้า

เราเป็นบริษัท รับทำเว็บไซต์ แก้เว็บเดิม เขียน Php+Mysql+jQuery+css+bootstrap  งานตามสั่ง ประสบการณ์ จะ 19 ปี ละจ้า
Smilephp.com รับทำเว็บไซต์บริษัท e-commerce + ระบบชำระเงิน paypal,ธนาคาร  เว็บบริษัท เว็บขายของ ระบบจอง เช่า เขียน PHP ได้ทุกแนว  ช่วงนี้เน้นรับงาน ERP ระบบเอกสารบริษัท ,บัญชี ,  Barcode, Stock , Warehouse , Logistic ติดต่อ 086-364-5262

งดตอบคนทำเว็บนอกลู่นอกทาง ไม่ทำเว็บ WP ปั่นแชร์ เว็บประมูล สคริปปั่นใดๆ ไม่ทำเว็บบอลและพ
tarusame
ก๊วนเสียว
*

พลังน้ำใจ: 37
ออฟไลน์ ออฟไลน์

กระทู้: 376



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 03 กันยายน 2012, 21:27:06 »

ได้แล้วครับ ฮร่าๆๆๆๆ

ง่ายๆ เลย ฮร่าๆๆๆๆๆๆๆๆๆๆๆ

หลังจากไปเดินเล่น ก็กลับมานั่งทำ สรุปคือไม่มีอะไรเลยครับ เรียก ซ้อนกันก็ออกแระ

ขอบพระคุณครับพี่ๆ
บันทึกการเข้า

เว็บโฮสติ้ง ราคาเริ่มต้น 300 บาท/ปี, จดโดเมนเนม, VPS, Co-Location, รับประกันคุณภาพ
บริการดีเป็นกันเอง บริการสอนการใช้งานพื้นฐาน ฟรี เจ้าของโฮสติ้งมีตัวตน มีเซิฟเวอร์เอง (วางในประเทศไทย)

http://www.SMHosting.in.th
สนใจบริการติดต่อ 095 565 5917 (TrueMove H) หรือ [email protected]
Facebook
guzzilar
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 48
ออฟไลน์ ออฟไลน์

กระทู้: 494



ดูรายละเอียด
« ตอบ #4 เมื่อ: 03 กันยายน 2012, 21:34:48 »

ได้แล้วครับ ฮร่าๆๆๆๆ

ง่ายๆ เลย ฮร่าๆๆๆๆๆๆๆๆๆๆๆ

หลังจากไปเดินเล่น ก็กลับมานั่งทำ สรุปคือไม่มีอะไรเลยครับ เรียก ซ้อนกันก็ออกแระ

ขอบพระคุณครับพี่ๆ
ทำจิตใจให้สงบ...
บางทีนั่งเขียน code ตั้งนาน ทำไงก็รันไม่ผ่าน พอเข้าห้องน้ำนั่งปลดทุกข์แป๊บเดียว code แล่นปรี๊ดในหัว ต้องรีบเบ่งรีบกลับมาเขียนต่อ  wanwan004 wanwan004 wanwan004

//คอมเมนท์นี้สกปรกขิงๆ  Embarrassed
บันทึกการเข้า

Rest in Home
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 493
ออฟไลน์ ออฟไลน์

กระทู้: 5,905



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 03 กันยายน 2012, 21:37:07 »

บางทีต้องปล่อยให้สมองมันโล่ง ๆ บ้างครับ
จะได้คิดอะไรได้กว้างขึ้น ^___^
บันทึกการเข้า

electron
คนรักเสียว
*

พลังน้ำใจ: 10
ออฟไลน์ ออฟไลน์

กระทู้: 120



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 03 กันยายน 2012, 22:08:44 »

ถูกเลยครับ เคยนั่งเครียดเขียนโปรแกรมทั้งคืนไม่ออก
นอนหลับ ตื่นมากลับมาเขียน กลับเขียนได้เลยง่าย ๆ แบบคิดไม่ถึง
บางทีเราต้องพักบ้างหากสมองล้าเกินไปแล้ว
บันทึกการเข้า

psuriya
สมุนแก๊งเสียว
*

พลังน้ำใจ: 29
ออฟไลน์ ออฟไลน์

กระทู้: 717



ดูรายละเอียด
« ตอบ #7 เมื่อ: 03 กันยายน 2012, 22:31:17 »

บางทีถ้าคิดไม่ออกมันก็นอนไม่หลับนะครับ Tongue
บันทึกการเข้า

รับพัฒนาและแก้ไขเว็บไซต์ด้วย Django
MeenyFancy
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 208
ออฟไลน์ ออฟไลน์

กระทู้: 1,270



ดูรายละเอียด
« ตอบ #8 เมื่อ: 04 กันยายน 2012, 12:11:35 »

งานโปรแกรมเมอร์เป็นศิลปะอย่างนึงครับ ต้องพักผ่อนให้เพียงพอและมีความเชื่อมั่น 5555
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์