พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร | Thailand travel information
ASP programming / Random
korakot_titla
korakot_titla
Mon 9 Oct 2006 08:54:30

รบกวนหน่อยนะครับ คือผมมีฐานข้อมูลดังนี้ครับ

1 Tbl_Stu (ตารางนักศึกษา)

Stu_id
Stu_name
Stu_color

2.Tbl_color (ตารางสี)

C_ID
C_Name
ซึ่งระบบที่ผมทำขึ้นมาจะเป็นระบบการสุ่มสีนะครับซึ่งลักษณะการทำงานของระบบจะทำงานคือ ผมจะทำการเลือกนักศึกษาออกมาโดยมีเงื่อนไขคือเลือกข้อมูลเฉพาะนักศึกษาใหม่ที่เข้ามาใหม่ภายในแต่ละปีสมมุติปีนี้ปี 49 ผมจะทำการเลือกมาเฉพาะปี 49 แล้วก็เลือกสาขาวิชาแล้วหลังจากนั้นผมก็จะทำการสุ่มสี ซึ่งนำข้อมูลสีมาจากตารางสี (Tbl_color) ซึ่งจะทำการสุ่มลงใน Filed ที่ชื่อว่า Stu_color โดยทำการเลือกสาขาแล้วให้นักศึกษาเป็นรหัสปัจจุบันแล้วทำการคลิกที่ปุ่ม แล้วก็สามารถทำการสุ่มสีให้กับนักศึกษาที่เราได้ทำการเลือกมาได้นะครับ

ลักษณะหน้าตาจะเป็นอย่างนี้นะครับ

 รหัสนักศึกษา

ชื่อนักศึกษา 

สี 

 49xxxxxx

 นายสมบูรณ์

 Textbox

 ปุ่มสุ่ม


ประมาณนี้แหละครับ
รบกวนพี่ๆด้วยนะครับ ผมทำการสุ่มไม่ได้จริงๆ

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

Administrator
Mon 9 Oct 2006 11:13:57
การสุ่มหาค่าใน MSSSQL สามารถใช้ NEWID() ได้ครับ เช่น
SELECT C_ID, C_Name FROM Tbl_color ORDER BY NEWID()
korakot_titla
korakot_titla
Mon 9 Oct 2006 19:24:02

สมมุติผมทำการคิวรีข้อมูลนักศึกษาออกมาแล้วซึ่งรหัส 49 ได้ 20 คนนะครับแล้วหลังจากนั้นผมจะผม textbox อยู่เพื่อเอาไว้รับข้อมูลสีแต่ละสีเวลาที่ได้ทำการสุ่ม คือตอนนี้ติดปัญหาคือผมทำการคิวรีสีออกมาใส่ใน textbox ไม่ได้นะครับ ซึ่งตอนนี้ผมมีฐานข้อมูลอยู่ 2 อันนะครับคืออันแรกเป็นฐานข้อมูลนักศึกษาชื่อว่า DBStu ส่วนอันที่ 2 เป็นฐานข้อมูลเกี่ยกับข้อมูลการกีฬาของนักศึกษา ชื่อว่า SportDB แล้วผมได้ทำการดึงข้อมูลนักศึกษาจากฐานข้อมูล DBStu ชื่อตารางว่า TblStu มาแสดง
txt_Major=Request.QueryString("txt_Major")

SQL="Select S.*,M.* ,T.* From TblStudent  S INNER JOIN TblMajor M ON S.major_ID=M.major_ID INNER JOIN TblTitle T ON T.TitleID=S.TitleID Where S.major_ID Like '"&txt_Major&"'"
แล้วผมก็ลองดึงข้อมูลการกีฬาซึ่งอยู่ในฐานข้อมูล SportDB และมีตารางชื่อว่า TblColor มาแสดงดังนี้
SQL="Select * From Tbl_Color ORDER By NEWID()"
ซึ่งลักษณะการทำงานยังงัยก็ได้นะครับที่สามารถทำให้สีจากตาราง TblColor มาใส่ใน textbox ข้างหลังข้อมูลนักศึกษาที่ผมได้ทำการคิวรีออกมานะครับ

 ชื่อ

สี 

 นาย ก

 แดง

 นาย ข

 ชมพู

 นาย ค

 ฟ้า

 นาย ง

 ม่วง

 สุ่มสี


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

Administrator
Mon 9 Oct 2006 20:02:57
ก็สมมุติว่า query ข้อมูลนักศึกษาออกมาดังที่แสดงใน column แรกดังตารางข้างบน จะได้ประมาณนี้
while NOT rs.eof
    response.write "<tr><td>" & rs("Name") & "</td>"
    // query เพื่อสุ่มสี
    response.write "<td>" & rs2("Color") & "</td></tr>"
    // ทำลาย rs2
wend

ประมาณนี้ครับ ลองทำการตรวจสอบคำสั่งต่างๆอีกทีนะครับ เอาพอเป็นไกด์ครับ
korakot_titla
korakot_titla
Thu 12 Oct 2006 23:27:27

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

 ชื่อ สี 
 นาย ก  แดง
 นาย ข  ฟ้า
 นาย ค  แดง
 นาย ง  ฟ้า

สมมุติผมสุ่มแล้วได้สีดังกล่าวตามตัวอย่างด้านบนนะครับ แล้วผมอยากได้รายละเอียดประมาณว่าอย่างนี้นะครับ
-สีแดง 2 คน
-สีฟ้า 2 คน
ซึ่งตอนนี้ผมทำการนับไม่ได้นะครับผมรบกวนพี่ๆทีมงานหน่อยนะครับ ขอบคุณมากครับ

Administrator
Fri 13 Oct 2006 00:12:34
SELECT color, COUNT(name) AS num FROM table_name GROUP BY color

color คือชื่อ field สี
name คือชื่อ field ชื่อ
korakot_titla
korakot_titla
Sat 14 Oct 2006 21:22:48

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

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

Administrator
Sun 15 Oct 2006 03:37:20
ก็สามารถทำได้ครับ แต่คุณจะพบปัญหาในการนำข้อมูลเหล่านั้นไปบันทึกข้อมูลครับ ก็ใช้ SELECT ตามคำสั่งด้านบนนั้นนำมาแสดงผลเท่านั้นครับไม่ต้องเขียน query เพื่อบันทึก
korakot_titla
korakot_titla
Tue 7 Nov 2006 08:59:14

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

Administrator
Wed 8 Nov 2006 00:27:06
ถ้าสุ่มแล้วไม่ต้องการให้แสดงอีกก็คงต้องเพิ่ม field เพื่อใช้แทน flag ครับว่าอันไหนแสดงแล้วหรือยังครับ
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login