การเขียน Option เรียกเว็บมารวมกัน | ||
ข้อควรทราบ |
|
การสร้างแฟ้มข้อมูล และตัวอย่างข้อมูล |
ให้ใช้ text editor สร้างแฟ้มข้อมูลต่อไปนี้ เพื่อเป็นฐานข้อมูลให้โปรแกรม perl มาสืบค้นข้อมูลไปแสดง โดยแต่ละบรรทัดประกอบด้วย 2 ส่วน คือ ส่วน 3 ตัวอักษรและ และส่วนข้อมูล 3 ตัวอักษรแรกถือเป็น รหัสประจำข้อมูล ดูเอานะครับ น่าจะไม่ยาก ตัวอย่างชุดนี้ มี 3 หัวข้อคือ ประวัติหนูฝนดาว สัตว์เลี้ยงในบ้าน และของเล่นของหนู สังเกตุได้ว่า หัวข้อแรก ขึ้นต้นด้วย A01 หัวข้อที่สอง ขึ้นต้นด้วย A02 หัวข้อสุดท้าย ขึ้นต้นด้วย A03 ถ้าท่านนำไปใช้จริงจะขึ้นต้นด้วยอะไรก็ได้ แต่จัดให้เป็นระเบียบก็แล้วกัน ข้างล่างนี้เป็นข้อมูลที่เก็บอยู่ในแฟ้ม plclopt.dat A01หนูชื่อฝนดาว เป็นพี่ใหญ่ มีน้องอีก 2 คนชื่อพีพี กับมาหยา A01โตขึ้นหนูอยากเป็นคนดี มีครอบครับที่ดี และอยากให้พ่อแม่เห็นลูก ๆ ของหนู A02สัตว์ในบ้านของหนูมีหลายชนิด แต่หนูไม่ค่อยได้ให้อาหารพวกเขา A02ที่หนูคุ้นเคยก็มี จิ้งจก ยุง แมลงวัน พวกนี้หนูเห็นตัวบ่อย ๆ A02ที่หนูไม่เห็นตัวก็มีหนู เพราะหนูจะวิ่งบนเพดานเกือบทุกคืน A02ไม่รู้ว่าพวกเขาวิ่งจับอะไรกัน เสียงดังลั่นเลย ถ้าปะป๊ะ กับมะม๊ะ ก็บอกให้ทำใจ A02ส่วนไก่ ตาเขาก็ชอบเลี้ยง เห็นว่าเอาไปชนกัน แต่มักจะเปลี่ยนหน้าบ่อย ๆ A02เห็นว่าตัวไหนแพ้ก็ไม่ได้กลับมา ตัวไหนชนะ ก็จะอยู่กับหนูนานหน่อย A02หนูไม่ค่อยกล้าเข้าใกล้ เพราะหน้าตาไก่ เขาดูดุดุ นะคะ A03ของเล่นหนูมีไม่เยอะค่ะ มีแค่ตะกร้าเดียว ปะป๊ะ ได้ของแถมจาก 7-11 หรือ KFC A03ก็จะมาหย่อนลงตะกร้าให้หนู แต่หนูยังเล่นไม่ค่อยเป็นส่วนใหญ่หนูชอบที่อมได้ A03เพราะหนูเล่นเป็นไม่กี่อย่างเช่น ซ่อนหา กับอมของเล่นเท่านั้นเอง |
การเขียนหน้าเว็บสำหรับเลือกข้อมูล |
การเขียนคำสั่ง form ในแฟ้ม html มีตัวอย่างการเขียนดังนี้ ซึ่งตัวอย่างนี้จะใช้แฟ้ม 3 แฟ้มเก็บไว้ใน directory perl ทั้งหมด แฟ้ม 3 แฟ้มที่ต้องใช้คือ plclopt.htm plclopt.dat plclopt.pl <form name=calldata action="/perl/plclopt.pl" method=post> <input type=checkbox name=A01>ประวัติหนูฝนดาว<br> <input type=checkbox name=A02>สัตว์เลี้ยงในบ้าน<br> <input type=checkbox name=A03>ของเล่นของหนู<br> <input type=submit name=calldata value=CallData> <input type=reset value=Cancel> </form> นำคำสั่งข้างบนนี้มาเขียนใช้งาน ได้ผลดังนี้ และใช้งานได้จริง (ทดลองดูก็ได้นะครับ) |
โปรแกรมที่ใช้เลือกข้อมูล |
ตัวอย่าง perl นี้ผมใช้ชื่อ plclopt.pl เก็บในห้อง /perl ถ้านำไปทดสอบจะใช้ชื่ออะไรก็ได้นะครับ แต่ต้องสัมพันธ์กับที่มีในส่วนของ form ที่เขียนใน html หลักการของโปรแกรม คือ - เปิดแฟ้ม plclopt.dat - อ่านทีละบรรทัด - นำแต่ละบรรทัดไปตรวจกับที่รับมาจาก form - ถ้าตรงกัน และเป็นตัวแรก ก็พิมพ์บรรทัดแรกให้เข้ม - ถ้าตรงกัน และเป็นไม่เป็นตัวแรก ก็พิมพ์ธรรมดา - หมดข้อมูล ก็ถือว่าเรียบร้อย copy โปรแกรมข้างล่างนี้ไปใส่ใน notepad แล้ว save ในชื่อ plclopt.pl #!/usr/local/bin/perl $filename = join '',"/data1/hm/thaiall.com","/perl/plclopt.dat"; print "Content-type: text/html\n\n"; print'<html><head><title>ผลการเรียกข้อมูล</title></head>',"\n"; print'<body><font face="microsoft sans serif" size=0>'; open(FNST,"<$filename"); @keepr = <FNST>; close(FNST); $cntr = @keepr; $gsys = <STDIN>; @pairs = split(/&/, $gsys); $h = 0; $nkeep = "none"; foreach $pair (@pairs) { @n = split /=/,$pair; if ($n[0] ne $nkeep) { $h = 0; $nkeep = $n[0]; } for $i (0 .. $cntr-1) { if ($n[0] eq substr($keepr[$i],0,3)) { if ($h eq 0) {print "<hr><b>",substr($keepr[$i],3,length($keepr[$i])),"</b><br>";} else {print substr($keepr[$i],3,length($keepr[$i])),"<br>";} $h = 1; } } } print'</font></body></html>'; |
แบบฝึกหัด |
|
+ ผู้สนับสนุน + รับผู้สนับสนุน |