วันพุธที่ 26 พฤศจิกายน พ.ศ. 2557

การเขียนฟังก์ชัน

หลักการเขียนฟังก์ชัน

รูปแบบ


function ชื่อฟังก์ชัน([ตัวแปรที่ใช้ถ้ามี]) {
โค้ด PHP ตามสะดวก
}
ตัวอย่างฟังก์ชันง่ายๆ แบบมาตรฐาน

<?php
function HelloWorld() {
echo "Hello World!";
}
HellowWorld();
?>
เมื่อรันโค้ดนี้แล้ว ผลลัพธ์ที่ได้ก็คือ หน้าจอบราวเซอร์จะแสดงคำว่า Hello World! นั่นเองครับ... จากตรงนี้สรุปการใช้งานฟังก์ชันที่เราเขียนขึ้นมาเองเบื้องต้นให้ทราบดังนี้ก่อน (และจะกล่าวถึงลึกๆ ต่อไปในภายหลัง)
  • ชื่อของฟังก์ชัน จะเป็นอะไรก็ได้ จะประกอบไปด้วยตัวอักษรใหญ่ หรือเล็กก็ได้ ไม่ควรยาวมาก เพราะจะทำให้จำยาก และควรอ่านแล้วบ่งชี้ถึงหน้าที่ของฟังก์ชันนั้นๆ และมีชื่อไม่ซ้ำกับชื่อฟังก์ชันเดิม ที่ PHP มีอยู่แล้ว
  • เวลาเรียกใช้ฟังก์ชัน ก็ให้พิมพ์ชื่อของฟังก์ชันนั้นให้ถูกต้อง ตัวเล็ก ตัวใหญ่ ต้องตรงกันเป๊ะๆ ด้วย
เอาละ ทีนี้มาดูอะไรต่ออีกหน่อย
<?php
function easyCal($a, $b) {
$c = $a + $b;
echo $c;
}
easyCal(5, 3);
?>
พอเรารันโค้ดนี้แล้ว ที่เราจะได้ก็คือ ผลลัพธ์ของ 5 + 3 ซึ่งก็คือ 8 นั่นเองครับ... จากตรงนี้เราก็สามารถสรุปเพิ่มเติมได้ว่า
  • เราสามารถให้ฟังก์ชันที่เขียนขึ้น รับค่าไปทำการประมวลผลได้ โดยการกำหนดตัวแปรเอาไว้ตอนประกาศฟังก์ชัน และป้อนค่าของตัวแปรให้กับฟังก์ชัน ตอนเรียกใช้
     ตัวอย่างที่ให้เห็นไปนั้น สังเกตได้ว่าจะเป็นการแสดงค่าผลของการประมวลผลมาเสร็จสรรพเลยครับ แต่มีบ่อยครั้งที่เราต้องการเอาค่าที่ประมวลผลได้ ไปคำนวณต่อ แต่ว่าไอ้ส่วนที่เราเอาไปคำนวณต่อนั้น ในแต่ละไฟล์ของเว็บแอปพลิเคชันของเรา ไม่เหมือนกัน ดังนั้นจึงไม่สามารถเอาไปรวมไว้ในฟังก์ชันได้ เราจะทำยังไง?!?
คำตอบก็คือ ให้ฟังก์ชันทำการประมวลผล ให้ได้ผลลัพธ์ แล้วทำการคืนค่า (return) ออกมา เอาไว้ใช้ประมวลผลต่อนั่นเอง...
เช่น สมมติว่าเราอยากได้ฟังก์ชันสำหรับประมวลผล factorial ของค่าใดๆ (n!)... เอ่อ... ใครที่ไม่ได้เรียนเลข หรือเกลียดเลขสุดๆ (เช่นผมเป็นต้น) เกิดสงสัยว่า factorial ของค่า n คืออะไร ขออธิบายแบบนี้นะครับ... สมมติเราบอกว่า factorial ของ 3 หรือ 3! เราจะหมายถึงค่าของ 3 x 2 x 1 หรือเท่ากับ 6 นั่นเอง หรือถ้าเราบอกว่า factorial ของ 9 หรือ 9! ก็จะหมายถึงค่าของ 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1 หรือ 362,880 นั่นเอง พูดง่ายๆ ค่าของ n! ก็คือ n x (n - 1) x (n - 2) x (n - 3)... x 1 ครับ
เอาละ ทีนี้ลองมาเขียนฟังก์ชันสำหรับการหาค่า factorial ของ n กันดีกว่า เมื่อ n คือค่าใดๆ ที่เราต้องการทราบค่า factorial ของมัน

<?php
function factorial($n) {
$result = 1;
for ($i = 0; $i < $n; $i++) {
$result = $result * ($n - $i);
}
return $result;
}
$n = factorial(9);
echo $n;
?>
ทีนี้พอเรารันผลโค้ดนี้ เราก็จะได้ค่าเป็น 362880 หรือ ผลลัพธ์ของ 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1 หรือ 9! นั่นเองครับ... จากตรงนี้ขอสรุปเพิ่มเติมก่อนจะจากกันในวันนี้ดังนี้
  • การคืนค่าจากฟังก์ชัน ไม่ยากเลยครับ แค่ปิดท้ายด้วย return ชื่อตัวแปรที่ต้องการคืนค่า เท่านั้นเอง... แต่มีข้อแม้ว่า สามารถ return ค่าได้เพียงค่าเดียวเท่านั้นครับ... ขอให้ดูโค้ดต่อไปนี้ประกอบ
<?php
function test1() {
$a = "ข้อความที่ 1";
$b = "
ข้อความที่ 2";
return $a;
return $b;
}
function test2() {
$a = "ข้อความที่ 1";
$b = "
ข้อความที่ 2";
return $b;
return $a;
}
echo test1(). "<br>";
echo test2();
?>
ผลลัพธ์ที่ได้คือ
ข้อความที่ 1
ข้อความที่ 2
นั่นเอง... พูดง่ายๆ คือ เรา return ค่าไหนก่อน เราก็จะได้ค่านั้นออกมาครับ
  • เวลาเราจะเอาค่าไปใช้งาน เราเลือกได้ 2 แบบครับดังนี้ (ดูโค้ดประกอบอีกแล้ว)
<?php
function easyCal($a, $b) {
$c = $a + $b;
return $c;
}
$result = easyCal(5, 3);
echo $result. "<br>"; //
เรียกใช้วิธีที่ 1
echo easyCal(5, 3); //
เรียกใช้วิธีที่ 2
?>
ผลลัพธ์ที่ได้ ก็คือ 8 เท่ากัน... แต่ถามว่าเวลาใช้งานจริง ขอให้ใช้แบบไหน?!? อันนี้ต้องดูสถานการณ์คือ หากเราต้องการจะใช้ผลลัพธ์ที่ได้ หลายครั้งในไฟล์เดียวกัน เราควรสละหน่วยความจำของเซิร์ฟเวอร์ซักนิด เพื่อเก็บผลลัพธ์ที่ได้จากฟังก์ชันเอาไว้ในตัวแปร เพื่อนำไปใช้ต่อไป การเรียกใช้แบบที่ 2 นั้น ทุกครั้งที่เรียกใช้ เท่ากับว่าเซิร์ฟเวอร์ต้องทำการประมวลผลฟังก์ชันใหม่เสมอ ซึ่งคงไม่ดีแน่ๆ หากต้องทำเช่นนี้บ่อยๆ กับฟังก์ชันที่ใช้เวลาประมวลผลนานๆ... แต่หากเราต้องการใช้ครั้งเดียวจบ ก็ใช้วิธีที่ 2 ได้ ไม่ผิดอะไร ดีซะอีก ไม่เปลืองหน่วยความจำ
  • ตัวแปรที่ใช้ในฟังก์ชัน กับตัวแปรที่อยู่นอกฟังก์ชัน แม้จะชื่อเดียวกัน แต่ถือว่าเป็นตัวแปรคนละตัว... เว้นเสียแต่จะมีการประกาศให้ตัวแปรนั้นๆ เป็นตัวแปรประเภท global ครับ
<?php
$a = 5;
function test() {
$a = 20;
echo "
ค่า $a ในฟังก์ชัน test() คือ ". $a;
}
function test2() {
global $a;
$a = 30;
echo "
ค่า $a ในฟังก์ชัน test2() หลังประกาศตัวแปร $a เป็น global แล้วคือ ". $a;
}
echo "ค่า $a นอกฟังก์ชันคือ ". $a. "<br>";
echo test(). "<br>";
echo "
ค่า $a หลังจากรันฟังก์ชัน test() คือ ". $a. "<br>";
echo test2(). "<br>";
echo "
ค่า $a หลังจากรันฟังก์ชัน test2() คือ ". $a;
?>
พอเรารันโค้ดแล้ว ผลลัพธ์ที่ได้ก็คือ
ค่า $a นอกฟังก์ชันคือ 5
ค่า $a ในฟังก์ชัน test() คือ 20
ค่า $a หลังจากรันฟังก์ชัน test() คือ 5
ค่า $a ในฟังก์ชัน test2() หลังประกาศตัวแปร $a เป็น global แล้วคือ 30
ค่า $a หลังจากรันฟังก์ชัน test2() คือ 30
สังเกตอะไรไหมครับ?!?
  • ก่อนประกาศตัวแปร $a เป็นตัวแปรประเภท global ค่าของ $a นอกฟังก์ชัน test() กับค่าของ $a ในฟังก์ชัน test() ถือเป็นคนละตัวกัน ดังนั้นก่อน และหลังของการรันฟังก์ชัน test() ค่าของ $a จึงยังคงเป็น 5 เช่นเดิม โดยไม่สนว่าตอนเรียกฟังก์ชัน test() นั้น จะมีการกำหนดตัวแปร $a ให้เป็นค่าอะไรก็ตาม
  • แต่พอประกาศตัวแปร $a เป็นตัวแปรประเภท global แล้ว ค่าของ $a นอกฟังก์ชัน เลยเปลี่ยนไปเป็น 30 หลังทำการรันฟังก์ชัน test2() ทั้งนี้เพราะว่า ในฟังก์ชัน test2() นั้น ได้มีการกำหนดค่า $a เสียใหม่เป็น 30 นั่นเอง
  • เราจะประกาศตัวแปรกี่ตัวให้เป็น global ก็ได้โดยใช้เครื่องหมาย , คั่น เช่น global $a, $b, $c; เป็นต้น





ที่มา:http://www.thaimisc.com/r/view.php?id=442

ฟังก์ชัน PHP


ฟังก์ชัน PHP

     
       PHP Function ความหมายของ Function คือ ส่วนของโปรแกรมย่อย ที่ทำงาน เสร็จสิ้นภายในตัวเอง เพื่อให้ได้ผลลัพธ์ใด ผลลัพธ์หนึ่ง โดยอาจจะทำการส่งค่ากลับ หรือ ไม่ส่งค่ากลับ ขึ้นอยู่กับความต้องการของผู้ใช้ ในภาษา PHP นั้นฟังก์ชั่นมีให้เลือกใช้งานได้หลากหลายและมากมายเกินกว่าจะจดและใช้งานได้ทั้งหมด แต่ในการพัฒนาโปรแกรมหนึ่ง ๆ นั้นจะใช้ Function ไม่กี่ตัวครับ ผมจะอธิบายก่อนครับว่า Function ของ PHP นั้นมาจากไหนบ้าง โดยส่วนใหญ่แล้วจะถูกเก็บไว้ที่ php.exe ซึ่งเป็นตัวแปรภาษา PHP และบางส่วนถูกเรียกใช้งานจาก .dll ซึ่งถูก include extension ในส่วนของ php.ini โดย Function เหล่านี้สามารถเรียกใช้งานได้ในทันที





ที่มา: http://www.thaicreate.com/php/php-function-introduction.html

วันพุธที่ 5 พฤศจิกายน พ.ศ. 2557

การสร้างฐานข้อมูลโดยการใช้ phpMyAdmin

การสร้างฐานข้อมูลโดยการใช้ phpMyAdmin

       phpMyAdmin เป็นเครื่องมือสำหรับใช้จัดการฐานข้อมูล MySQL ซึ่งฐานข้อมูลหากเราพูดให้เข้าใจง่ายๆ ก็คือ ระบบที่ถูกสร้างขึ้นเพื่อใช้จัดเก็บข้อมูลด้วยคอมพิวเตอร์ เพื่อให้ข้อมูลของเรามีความพร้อมสามารถนำมาใช้งานได้ทันที  สำหรับความรู้เรื่องฐานข้อมูลนั้น ครูกนนจะได้นำเสนอในความรู้เรื่อง  "ความรู้ความเข้าใจเกี่ยวกับระบบการจัดการฐานข้อมูล"  ซึ่งจะได้นำเสนอในโอกาสต่อไป
     
จากที่ได้กล่าวไปแล้วว่าเป็นเครื่องมือที่ใช้จัดการฐานข้อมูล MySQL ที่ต้องใช้ phpMyAdmin ก็เพราะว่าในการจัดการกับฐานข้อมูล MySQL นั้นหากเราไม่มีเครื่องมือจัดการแล้วเราต้องใช้วิธีพิมพ์คำสั่ง MySQL เองตั้งแต่การสร้างตารางข้อมูล  การเพิ่ม  การลบ  การอัพเดท  ข้อมูลต่างๆ  ซึ่งคงเป็นเรื่องยากที่เราจะมานั่งจำคำสั่งต่างๆของ MySQL
      phpMyAdmin
มีวิธีการใช้งานที่ง่ายๆ และได้ถูกติดตั้งพร้อมกับ Appserv แล้วเราเพียงแค่คลิกเข้าไปใช้งานก็เท่านั้นเอง ในบทความนี้จะนำเสนอวิธีสร้างฐานข้อมูลด้วย phpMyAdmin ซึ่งมีขั้นตอนดังนี้ครับ

      1. ให้เราเปิด Browser เช่น IE  Chrome  Firefox  ขึ้นมาแล้วพิมพ์ 127.0.0.1 ที่ช่อง URL
       
จากนั้นให้เคลิกที่ข้อความ  phpMyAdmin  Database Manager... ตามภาพด้านล่างที่มีลูกศรชี้อยู่ 

        phpMyAdmin-1
     2. ก็จะมีหน้าต่างให้ใส่ ชื่อผู้ใช้ และ รหัสผ่าน ปรากฏขึ้นมาในช่อง ชื่อผู้ใช้ ให้ใส่คำว่า rootในช่อง รหัสผ่าน ให้ใส่รหัสผ่านที่เราสร้างไว้เมื่อตอนติดตั้ง Appserv 
                             phpMyAdmin-3

      4. ถ้าใส่ ชื่อผู้ใช้ หรือ รหัสผ่าน ไม่ถูกต้องก็จะปรากฏหน้าต่างคล้ายภาพด้านล่าง

                          phpMyAdmin-4

     5. หากภาพในข้อ 4 ปรากฏขึ้นมาก็ไม่ต้องตกใจครับให้คลิกปุ่ม back เพื่อย้อนกลับไปเริ่มต้นทำข้อ 1 ใหม่ได้อีกครั้ง

                                     phpMyAdmin-5

    6. หากเข้าสู่ระบบได้ก็จะมีหน้าต่างคล้ายภาพด้านล่างปรากฏขึ้นมา

phpMyAdmin-6

    7. ให้เรารู้จักปุ่ม
        
หมายเลข 1 คือ ปุ่ม Home มีไว้สำหรับคลิกกลับมาที่หน้าแรกของ phpMyAdmin
        
หมายเลข 2 คือ ปุ่ม Exit มีไว้สำหรับคลิกออกจาก phpMyAdmin

                                    phpMyAdmin-7

     8. ในช่องฐานข้อมูลหากเราคลิกเข้าไปดูก็จะเห็นฐานข้อมูลที่ phpMyAdmin สร้างไว้ให้บ้างแล้ว สำหรับท่านที่ติดตั้ง Appserv ครั้งแรก อาจจะมีชื่อฐานข้อมูลไม่เหมือนตัวอย่างก็ไม่ต้องกังวลครับเพราะภาพตัวอย่าง ผมได้สร้างฐานข้อมูลไว้บ้างแล้ว

                                   phpMyAdmin-8

     9. ให้ท่านดูที่ด้านขวาของ phpMyAdmin ท่านจะเห็นคล้ายภาพตัวอย่างมีสิ่งที่เราต้องทำความรู้จักสำหรับการสร้างฐานข้อมูลใหม่ดังนี้ครับ
   
หมายเลข 1 คือ ช่องสำหรับใส่ชื่อฐานข้อมูลที่เราจะสร้าง ในที่นี้ผมจะสร้างฐานข้อมูลชื่อ myDataBaseผมก็พิมพ์ชื่อฐานข้อมูลลงไปในช่องที่ 1
   
หมายเลข 2 คือ ช่องสำหรับเปลี่ยนรหัสอักขระ ให้คลิกเลือกเป็น utf8_unicode_ci
   
หมายเลข 3 คือ ปุ่ม สร้าง เมื่อเราทำข้อ 1,2 เสร็จแล้วก็คลิกปุ่ม สร้าง
              phpMyAdmin-9

    10. เราก็จะเห็นชื่อฐานข้อมูลที่สร้างปรากฏด้านซ้ายมือครับ
       myDataBase(0)  
หมายความว่า  ฐานข้อมูลชื่อ myDataBase มีตารางข้อมูลอยู่ 0 ตาราง
                                   phpMyAdmin-10

     11. นี่เลยครับสุดยอดของ phpMyAdmin ที่ผมชอบล่ะครับ ให้ทุกท่านดูตรงบรรทัด คำค้น SQLท่านจะเห็นว่าด้านล่างมีคำสั่ง MySQL สำหรับใช้สร้างฐานข้อมูลครับ ที่ชอบก็เพราะว่าเราสามารถมาเรียนรู้คำสั่ง MySQL แบบที่เรียกว่า Command Line ได้จาก phpMyAdmin ครับ
     
นั่นคือเราทำอะไรก็ให้เราจำคำสั่ง MySQL ที่เราทำลงไปให้ดีๆ แล้วสามารถนำไปใช้ในการ
     
เขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ต่างๆ ที่มีการติดต่อกับฐานข้อมูล MySQL ได้อย่างสบายๆ
       
phpMyAdmin-11




ที่มา:http://www.krukanon.com/web/index.php