Group Blog
 
 
ตุลาคม 2548
 
 1
2345678
9101112131415
16171819202122
23242526272829
3031 
 
22 ตุลาคม 2548
 
All Blogs
 

การบ้านวิชา CY623...ของ น.ส.พัชรัตน์ เอกทัศน์ ข้อ3

3. พัฒนาโปรแกรม PHP 1 โปรแกรม เพื่อให้ความรู้ด้านสุขภาพ กับประชาชน
3.1 จะต้องมี flow การทำงานของโปรแกรม
3.2 มี comment การทำงานของโปรแกรม ไม่น้อยกว่า 50% ของจำนวนบรรทัดโปรแกรมทั้งหมด เป็นภาษาไทย
ตัวอย่างเช่น pregnancy.php แต่ต้องมีการโต้ตอบกับคนเข้ามาดูได้ และเก็บข้อมูลคนที่เข้ามาดูแล้ว ที่กำลังท้องอยู่ เพื่อครั้งหน้า เข้ามาดูอีก จะได้ต่อเนื่องกับครั้งที่ผ่านมา
3.3 ถ้าจะทำเป็นกลุ่ม ไม่ให้เกินกลุ่มละ 4 คน และต้องมีการแจ้งก่อนว่า ใคนในกลุ่มคนไหน ทำส่วนใด


รายชื่อผู้จัดทำโปรแกรมBMI

1.นายเกษตร อยู่ดี
จัดทำส่วนของ HTML ทั้งหมด
2.นางสาวกมลมาศ ศิริรักษ์
จัดทำส่วนของโปรแกรมการคำนวน(CalOnly.php) BMI ที่เป็น PHP
3.นางสาวพัชรัตน์ เอกทัศน์
จัดทำส่วนของโปรแกรมการลงทะเบียนของสมาชิกใหม่-เก่า(Member.php,NewMember.php)



Code : HTML หน้า mainpage.html

โปรแกรมคำนวณ ค่า BMI พร้อมเก็บข้อมูลไว้ในฐานข้อมูล


โปรดเลือกตัวเลือก










<


code : HTML ของโปรแกรม CalOnly.php

โปรดเติมข้อมูลของท่าน

น้ำหนัก(กิโลกรัม) :

ส่วนสูง(เซนติเมตร):







<
code : PHP ของโปรแกรม CalOnly.php
//ป้องกันตัวหารเป็น 0(เนื่องจากการหารจำนวนใดๆหากตัวหารเป็น 0 จะทำให้ข้อมูลผิดพลาด)
if( $H==0)
{
$W=0;
$H=1;
}
//เริ่มคำนวณค่า BMIโดยใช้สูตรคำนวน คือ BMI(Body Mass Index)=Weight(นํ้าหนัก คิดเป็นกิโลกรัม)/(Height*Height)โดยส่วนสูงนี้ทำเป็นเมตรก่อนแล้วจึงนำมาคำนวน
$BMI=$W/(($H/100)*($H/100));
//ทำให้เหลือทศนิยม 2 ตำแหน่ง โดยใช้ function round()
$BMI = round($BMI,2);
//แสดงค่าBMI ที่โปรแกรมคำนวนได้โดยผลลัพธ์ของBMI จะแสดงเป็นทศนิยม 2 ตำแหน่งเท่านั้น
print "ค่าดัชนีมวลของร่างกายของคุณ คือ " . $BMI . "

";
//วิเคราะห์ค่าBMI โดยอ้างอิงจากตารางเปรียบเทียบ BMI ขององค์การอนามัยโลก WHO
//ถ้าหาก BMI น้อยกว่าหรือเท่ากับ 19 แสดงว่า user มีนํ้าหนักน้อยเกินไปซึ่งจะแนะนำให้เพิ่มนํ้าหนักตัวมากกว่านี้
if( $BMI <= 19)
{
print "Oh no!! คุณผอมมาก ควรเพิ่มนำหนักมากกว่านี้ครับ
";
}
//ถ้าหาก BMI มีค่ามากกว่า 19 แต่น้อยกว่า 24 แสดงว่า userมีนํ้าหนักตัวพอดีสมดุลกับส่วนสูงซึ่งจะแนะนำให้รักษาหุ่นระดับนี้ต่อไป
if($BMI >19 && $BMI < 24)
{
print "Oh !! พระเจ้า george, คุณกำลังหุ่นดีเลยนะเนี่ย,อย่าให้อ้วนกว่านี้นะ
";
}
//ถ้าหาก BMI มีค่ามากกว่าหรือเท่ากับ 24 แต่น้อยกว่า 29 แสดงว่า user กำลังอ้วนทีเดียว(อวบ,ตุ้ยนุ้ย)ซึ่งจะแนะนำให้ออกกำลังกายอีกซะหน่อยจะได้หุ่นดี
if($BMI >=24 && $BMI < 29)
{
print "ออกกำลังกายมากๆนะน้อง";
}
//ถ้าหาก BMI มีค่ามากกว่าหรือเท่ากับ 29 แสดงว่า user มีนํ้าหนักตัวมากเกินไป(จริงๆนะหรือพูดง่ายๆว่าอ้วนสุดๆ)ซึ่งจะแนะนำให้ออกกำลังกายด่วน!!!
if($BMI >= 29)
{
print "ไอ้หมูอ้วนเอ้ย,รีบไปออกกำลังกายซะ...ไม่งั้นจะแย่นะเรา!!";
}
print "

";
//สร้างปุ่มเพื่อกลับไปหน้าการคำนวนโดยสามารถ click เพื่อกลับไปเพื่อคำนวนข้อมูลใหม่(CalOnly.html)
print "";

?>
code : HTML ของโปรแกรม Newmember.HTML

โปรดเติมชื่อและรหัสผ่าน ของผู้ใช้ใหม่

ชื่อผู้ใช้งาน :

รหัสผ่าน :

ยืนยันรหัสผ่าน:

หมายเหตุ:การใส่ user,password ให้ใส่จำนวนอักษร 1-10 ตัวอักษร



<
code : PHP ของโปรแกรม Newmember.php
//ในการกรอกข้อมูลสมาชิกใหม่จะมีการกรอกชื่อซึ่งกำหนดให้ใส่ 1-10ตัวอักษร ถ้าเกิดว่าในช่องตารางให้กรอกชื่อ userไม่ได้ทำการใส่ข้อมูลหรืออาจใส่ข้อมูลไม่ถูกต้องโดยอาจเป็นการใส่เกินหรือซํ้ากับคนอื่นโปรแกรมก็จะแจ้งว่า"ช่องผู้ใช้งานยังไม่มีข้อมูล"และจะมีbuttonให้กลับไปยังหน้าของสมาชิกใหม่เพื่อให้เราทำการแก้ไขข้อมูลให้ถูกต้อง
if($User == "")
{
print "ช่องผู้ใช้งาน ยังไม่มีข้อมูล!!

";
print "";
exit();
}
//ในการกรอกข้อมูลpasswordจะมีการกรอกรหัสซึ่งกำหนดให้ใส่ 1-10ตัวอักษรถ้าเกิดว่าในช่องตารางที่ให้ใส่passwordไม่ได้ทำการใส่ข้อมูลหรืออาจใส่ข้อมูลไม่ถูกต้องโดยอาจเป็นการใส่เกินหรือซำกับคนอื่นโปรแกรมก็จะแจ้งว่า"รหัสและยืนยันรหัสไม่ตรงกัน"และจะมีbuttonให้กลับไปยังหน้าของสมาชิกใหม่เพื่อให้เราทำการแก้ไขข้อมูลให้ถูกต้อง
if($PW != $CPW)
{
print "รหัส และ ยืนยันรหัส ไม่ตรงกัน!!

";
print "";
exit();
}

//เมื่อขั้นตอนด้านบนokแล้วข้อมูลเรียบร้อยและถูกต้องต่อมาโปรแกรมจะมีการconnectไปยังlocalhost(ซึ่งในที่นี้เราใช้ฐานข้อมูลของMySQLโดยนำมาใช้และเชื่อมต่อกับPHPโดยผ่านโปรแกรมAppServ)โดยมีการใช้ชื่อuserว่า"north"และใช้passwordว่า"S159n205ซึ่งในการติดต่อกับDB(data base)อันนี้เราจะเลือกconnectกับtableที่ชื่อBMI
$link = mysql_pconnect("localhost","north","S159n205");
mysql_select_db("BMI_db");
//add value:เมื่อการconnectและการselectDBเรียบร้อยแล้วจะมีการตั้งค่าต่างที่เกิดขึ้นเพื่อสำหรับไปใส่ในtableของDBที่ทำการselectไว้โดยมีการกำหนดให้ค่าของuser=ค่าของnameในtable,ค่าของpassword=ค่าของpasswordในtable
$name = $User;
$Password = $PW;
//จะมีการถาม-ตอบระหว่างกันของDBและจะมีคำสั่งให้นำข้อมูลต่างๆ(name&password)ที่ตั้งค่าไว้มาใส่ไว้ในtableชื่อBMIโดยในครั้งแรกนี้จะมีแต่ข้อมูลของname&passwordจะยังไม่มีข้อมูลของการคำนวนBMIของวันที่และเวลาใดๆเลยซึ่งในDBที่setไว้นี้จะบรรจุข้อมูลได้3ครั้งสำหรับการสมมัครสมาชิกครั้งแรกนี้ช่องของข้อมูลBMIจะเว้นว่างไว้ก่อน..ดังนั้นเมื่อการลงข้อมูลเรียบร้อยโปรแกรมจะแจ้งว่า"ข้อมูลของคุณได้ถูกเก็บในระบบแล้ว"
if(mysql_query("INSERT INTO BMI_table SET ".
"name='$name'" .
",Password = '$Password'" .
",BMI1='xxxx'" .
",BMI1Date='xxxx'" .
",BMI2='xxxx'" .
",BMI2Date='xxxx'" .
",BMI3='xxxx'" .
",BMI3Date='xxxx'" ))
{
print "ข้อมูลของคุณได้ถูกเก็บในระบบแล้ว

";
}
//ถ้าหากเกิดความผิดพลาดเกิดขึ้น เช่น เปลี่ยนserverแล้วยังไม่มีการสร้างDBเป็นต้น โปรแกรมก็จะแจ้งว่าเกิดการผิดพลาด(Error)ที่ส่วนไหนและจะมีbuttonให้กลับไปใหม่เพื่อให้เราทำการแก้ไขข้อมูลให้ถูกต้อง
else
{
print (mysql_errno() ? "Error no." . mysql_errno() . ":" : "") . mysql_error() . "

";
}
print "";
exit();
?>
code : HTML ของโปรแกรม Member.HTML


โปรดเติมข้อมูลของท่าน

ผู้ใช้งาน :

รหัสผ่าน:



น้ำหนัก(กิโลกรัม) :

ส่วนสูง(เซนติเมตร):



<
?>
code : PHP ของโปรแกรม Member.HTML
//โปรแกรมจะมีการconnectไปยังlocalhost(ซึ่งในที่นี้เราใช้ฐานข้อมูลของMySQLโดยนำมาใช้และเชื่อมต่อกับPHPโดยผ่านโปรแกรมAppServ)โดยมีการใช้ชื่อuserว่า"north"และใช้passwordว่า"S159n205ซึ่งในการติดต่อกับDB(data base)อันนี้เราจะเลือกconnectกับtableที่ชื่อBMI
$link = mysql_pconnect("localhost","north","S159n205");
mysql_select_db("BMI_db");

//ต่อมาก็เป็นขั้นตอนในการดึงข้อมูลมาจากฐานข้อมูลซึ่งในการทำงานครั้งนี้มีความจำเป็นต้องดึงค่าหลายๆค่าจากฐานข้อมูลจึงขอใช้คำสั่งSQLที่ระบุชื่อฐานข้อมูลไว้หน้าชื่อtableผ่านไปทางฟังก์ชั่นmysql_query()จะเหมาะสมที่สุด สำหรับฟังก์ชั่นในการเรียกดึงข้อมูลนั้นเราจะใช้ฟังก์ชั่นmysql_fetch_array()ใช้สำหรับดึงข้อมูลจากตัวแปรที่ได้จากฟังก์ชั่นmysql_query()มาเก็บในรูปอาร์เรย์และสามารถอ้างถึงข้อมูลในฟีลด์ได้ด้วยชื่อฟีลด์หรือตัวเลขดัชนี(index)โดยในการเรียกใช้ฟังก์ชั่นmysql_fetch_array()1ครั้งจะดึงมา1เรคอร์ดและตัวชี้จะถูกเลื่อนไปยังเรคอร์ดถัดไปแต่หากไม่สามารถดึงเรคคอร์ดมาได้จะให้ค่าเป็นfalse
$ordersresult = mysql_query("SELECT * FROM bmi_table WHERE name='$User'");
$ordersrow = mysql_fetch_array($ordersresult);

//เมื่อทำการดดึงข้อมูลมาตรวจสอบแล้วพบว่าข้อมูลชื่อuser(primary key)ไม่ตรงกับpasswordโปรแกรมจะแจ้งว่า"รหัสผ่านหรือชื่อผู้ใช้ไม่ถูกต้อง"และจะมีbuttonให้กลับไปยังหน้าของสมาชิกเก่าเพื่อให้เราทำการแก้ไขข้อมูลให้ถูกต้อง...แต่ถ้าหากตรวจสอบข้อมูลทุกอย่างแล้วถูฏต้องก็จะมีการเข้าสู่โปรแกรมการคำนวนBMIต่อไป
$PWindb = $ordersrow[1] ;

if($PW != $PWindb)
{
print "รหัสผ่านหรือชื่อผู้ใช้ ไม่ถูกต้อง!!

";
print "";
exit();
}
//ป้องกันตัวหารเป็น 0(เนื่องจากการหารจำนวนใดๆหากตัวหารเป็น 0 จะทำให้ข้อมูลผิดพลาด)
if( $H==0)
{
$W=0;
$H=1;
}
//เริ่มคำนวณค่า BMIโดยใช้สูตรคำนวน คือ BMI(Body Mass Index)=Weight(นํ้าหนัก คิดเป็นกิโลกรัม)/(Height*Height)โดยส่วนสูงนี้ทำเป็นเมตรก่อนแล้วจึงนำมาคำนวน
$BMI=$W/(($H/100)*($H/100));
//ทำให้เหลือทศนิยม 2 ตำแหน่งโดยใช้ function round()
$BMI = round($BMI,2);
//แสดงค่าBMI ที่โปรแกรมคำนวนได้โดยผลลัพธ์ของBMI จะแสดงเป็นทศนิยม 2 ตำแหน่งเท่านั้น
print "สวัสดีครับ ค่าดัชนีมวลของร่างกายของคุณวันนี้ คือ " . $BMI . "

";
//วิเคราะห์ค่าBMI โดยอ้างอิงจากตารางเปรียบเทียบ BMI ขององค์การอนามัยโลก WHO
//ถ้าหาก BMI น้อยกว่าหรือเท่ากับ 19 แสดงว่า user มีนํ้าหนักน้อยเกินไปซึ่งจะแนะนำให้เพิ่มนํ้าหนักตัวมากกว่านี้
if( $BMI <= 19)
{
print "Oh no!! คุณผอมมาก ควรเพิ่มนำหนักมากกว่านี้ครับ

";
}
//ถ้าหาก BMI มีค่ามากกว่า 19 แต่น้อยกว่า 24 แสดงว่า userมีนํ้าหนักตัวพอดีสมดุลกับส่วนสูงซึ่งจะแนะนำให้รักษาหุ่นระดับนี้ต่อไป
if($BMI >19 && $BMI < 24)
{
print "Oh !! พระเจ้า george, คุณกำลังหุ่นดีเลยนะเนี่ย

";
}
//ถ้าหาก BMI มีค่ามากกว่าหรือเท่ากับ 24 แต่น้อยกว่า 29 แสดงว่า user กำลังอ้วนทีเดียว(อวบ,ตุ้ยนุ้ย)ซึ่งจะแนะนำให้ออกกำลังกายอีกซะหน่อยจะได้หุ่นดี
if($BMI >=24 && $BMI < 29)
{
print "ออกกำลังกายมากๆนะครับ

";
}
//ถ้าหาก BMI มีค่ามากกว่าหรือเท่ากับ 29 แสดงว่า user มีนํ้าหนักตัวมากเกินไป(จริงๆนะหรือพูดง่ายๆว่าอ้วนสุดๆ)ซึ่งจะแนะนำให้ออกกำลังกายด่วน!!!
if($BMI >= 29)
{
print "ไอ้หมูอ้วนเอ้ย!!

";
}
//เมื่อคำนวนBMIได้แล้วก็จะมีการบันทึกวันที่และเวลาที่เราทำการคำนวนBMIกำกับไว้เป็นBMIครั้งปัจจุบัน(ครั้งล่าสุด)
$MyDate = date( "d F y H:i:s");

//ต่อมาก็จะเป็นการกำหนดค่าของวันที่และBMIครั้งก่อนว่าอยู่ที่ตำแหน่งไหนของtable
$BMI1Date = $ordersrow[3];
$BMI2Date = $ordersrow[5];
$BMI1 = $ordersrow[2];
$BMI2 = $ordersrow[4];
//ต่อมาก็เป็นขั้นตอนในการแก้ไข(update)ข้อมูลมาจากฐานข้อมูลซึ่งในการทำงานครั้งนี้มีความจำเป็นต้องแก้ไข(update)ค่าหลายๆค่าจากฐานข้อมูลจึงขอใช้คำสั่งSQLที่ระบุชื่อฐานข้อมูลไว้หน้าชื่อtableผ่านไปทางฟังก์ชั่นmysql_query()จะเหมาะสมที่สุด แก้ไข(update)ในบรรทัดนี้นั้นจะมีการจัดเก็บข้อมูลแทนที่กันเนื่องจากเราsetการเก็บฐานข้อมูลไว้3ค่าซึ่งเมื่อข้อมูลทั้งหมดมี4ค่า(รวมBMIปัจจุบันด้วย)ข้อมูลจะมีการจัดเก็บแทนที่กันโดยข้อมูลที่เก่าที่สุดจะถูกดันออกไปนั่นคือ BMIครั้งล่าสุดจะจัดเก็บเป็นข้อมูลที่1,ข้อมูลครั้งที่1ของคราวที่แล้วจะถูกจัดเก็บเป็นข้อมูลที่2 และข้อมูลที่2ของคราวที่แล้วจะจัดเก็บเป็นข้อมูลที่3 ส่วนข้อมูลครั้งที่3ของครั้งที่แล้วจะถูกทิ้งไป
(mysql_query("UPDATE bmi_table SET BMI1Date = '$MyDate',BMI2Date = '$BMI1Date',BMI3Date = '$BMI2Date' WHERE name='$User'"));
(mysql_query("UPDATE bmi_table SET BMI1 = '$BMI',BMI2 = '$BMI1',BMI3 = '$BMI2' WHERE name='$User'"));

//ต่อมาก็เป็นขั้นตอนในการดึงข้อมูลมาจากฐานข้อมูลซึ่งในการทำงานครั้งนี้มีความจำเป็นต้องดึงค่าหลายๆค่าจากฐานข้อมูลจึงขอใช้คำสั่งSQLที่ระบุชื่อฐานข้อมูลไว้หน้าชื่อtableผ่านไปทางฟังก์ชั่นmysql_query()จะเหมาะสมที่สุด สำหรับฟังก์ชั่นในการเรียกดึงข้อมูลนั้นเราจะใช้ฟังก์ชั่นmysql_fetch_array()ใช้สำหรับดึงข้อมูลจากตัวแปรที่ได้จากฟังก์ชั่นmysql_query()มาเก็บในรูปอาร์เรย์และสามารถอ้างถึงข้อมูลในฟีลด์ได้ด้วยชื่อฟีลด์หรือตัวเลขดัชนี(index)โดยในการเรียกใช้ฟังก์ชั่นmysql_fetch_array()1ครั้งจะดึงมา1เรคอร์ดและตัวชี้จะถูกเลื่อนไปยังเรคอร์ดถัดไปแต่หากไม่สามารถดึงเรคคอร์ดมาได้จะให้ค่าเป็นfalse..ซึ่งถ้าไม่มีข้อผิดพลาดโปรแกรมก็จะแสดงผลค่าBMIตามที่เราได้แก้ไขไว้ตามบรรทัดข้างต้นและจะมีbuttonให้กลับไปยังหน้าหลักได้อีดครั้ง
$ordersresult = mysql_query("SELECT * FROM bmi_table WHERE name='$User'");
$ordersrow = mysql_fetch_array($ordersresult);
print "คุณ" . $User . " นี่เป็นBMIย้อนหลังของคุณ
";
print "วันที่ " . $ordersrow[3] . "ค่า BMI ของคุณ คือ " . $ordersrow[2] . "
";
print "วันที่ " . $ordersrow[5] . "ค่า BMI ของคุณ คือ " . $ordersrow[4] . "
";
print "และ
";
print "วันที่ " . $ordersrow[7] . "ค่า BMI ของคุณ คือ " . $ordersrow[6] . "

";
print "";
?>
สำหรับFlow chart ดูได้จากhttp://www.geocities.com/netramanetrama/Flowchart.doc




 

Create Date : 22 ตุลาคม 2548
1 comments
Last Update : 22 ตุลาคม 2548 15:35:00 น.
Counter : 709 Pageviews.

 

แวะมาดู :-)

 

โดย: อ.พัน IP: 202.28.80.4 25 ตุลาคม 2548 14:26:20 น.  

ชื่อ :
Comment :
  *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 
รหัสส่งข้อความ
กรุณายืนยันรหัสส่งข้อความ


sine_north
Location :


[ดู Profile ทั้งหมด]

ให้ทิปเจ้าของ Blog [?]
ฝากข้อความหลังไมค์
Rss Feed

ผู้ติดตามบล็อก : 1 คน [?]




Friends' blogs
[Add sine_north's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.