วันอาทิตย์ที่ 23 พฤศจิกายน พ.ศ. 2557

ภาษา php (5)

คำสั่งวนซ้ำ

     ภาษา PHP มีคำสั่งที่ใช้วนซ้ำ(loop) ดังต่อไปนี้ 

1. คำสั่ง while
     เป็นคำสั่งที่ใช้วนซ้ำ โดยจะตรวจสอบเงื่อนไขก่อน ถ้าพบว่าเงื่อนไขเป็นจริง จึงจะทำคำสั่งที่อยู่ภายในลูป(loop) หลังจากนั้นจึงกลับมาตรวจสอบเงื่อนไขอีกครั้ง วนซ้ำเช่นนี้ไปเรื่อยๆ จนกว่าเงื่อนไขจะเป็นเท็จ 
while (เงื่อนไข)
{
     คำสั่ง;
}

1
2
3
4
5
6
ึ7 
<?
   $size = 1;
   while ($size < 7)
   {   echo "<font size = $size color=blue>HELLO<br>";
        $size++;
   }
?>



     จากตัวอย่าง โปรแกรมจะตรวจสอบเงื่อนไขก่อนว่าเป็นจริงหรือไม่ จะเห็นว่า $size มีค่าเท่ากับ 1 ซึ่งน้อยกว่า 7 ดังนั้นเงื่อนไขจึงเป็นจริง แล้วจึงเข้าไปทำคำสั่งที่อยู่ในลูปทั้ง 2 คำสั่ง โดยเพิ่มค่า $size ขึ้นอีกหนึ่ง
     หลังจากนั้นก็กลับไปตรวจสอบเงื่อนไขต่อว่าเป็นจริงหรือไม่ ในที่นี้จะวนซ้ำทั้งสิ้น 6 รอบ 
2. คำสั่ง do..while
     คำสั่ง do..while จะมีการทำงานคล้ายกับ while แต่ต่างกันตรงที่ คำสั่ง do..while จะตรวจสอบเงื่อนไขทีหลัง นั่นคือจะมีการทำคำสั่งในลูปอย่างน้อย 1 ครั้งเสมอ เมื่อทำคำสั่งในลูปแล้วจึงตรวจสอบเงื่อนไขทีหลัง 

do
{
     คำสั่ง;
}
while (เงื่อนไข)


1
2
3
4
5
6
ึ7
8
<?
   $a = 1;
   do  
   {
      echo $a," ";
      $a++;
   } while($a<=20)
?>

3. คำสั่ง for

     สำหรับคำสั่ง for นั้น จะมีการทำงานเหมือนกับ while คือตรวจสอบเงื่อนไขหรือการเปรียบเทียบก่อน แล้วจึงทำคำสั่งภายในลูป แต่มักใช้ในกรณีที่ทราบจำนวนครั้งในการวนซ้ำที่แน่นอน 
for (กำหนดค่าเริ่มต้น ; เงื่อนไข ; การเพิ่ม/ลดค่าตัวแปร)
{
     คำสั่ง;
}

1
2
3
4
5
6
ึ7
8
9
<?
  
   for($a = 1 ; $a < 13 ; $a++)
   {
      echo "<font color=green>";
      echo "2 x $a =",2*$a,"<br>";
      echo "</font>";
   }
?>

     จากตัวอย่างที่ 15 เป็นโปรแกรมสูตรคูณแม่ 2 โดย $a จะเริ่มเก็บค่าจาก 1 ในขณะที่เงื่อนไขยังเป็นจริง (นั่นคือ $a < 13) ก็จะทำคำสั่งในลูปทั้ง 3 คำสั่ง หลังจากนั้นตัวแปร $a จะถูกเพิ่มค่าทีละหนึ่ง และทำงานไปเรื่อยๆ จนกระทั่งเงื่อนไข $a < 13 เป็นเท็จ

1
2
3
4
5
6
ึ7
8
9
10
11
<table border=1>
<?
   $a = 1;
   for($a = 1 ; $a < 13 ; $a++)
   {  
      echo "<tr>";
      echo "<td>2 x $a</td><td>",2*$a,"</td>";
      echo "</tr>";
   }
?>
</table>

ภาษา php (4)

คำสั่งเลือกทำ

     ภาษา PHP มีคำสั่งที่ใช้ตรวจสอบเงื่อนไขเพื่อเลือกทำงานดังต่อไปนี้ 


1. คำสั่ง if
     PHP จะทำคำสั่งต่างๆ ที่อยู่ภายใน if ก็ต่อเมื่อเงื่อนไขมีค่าทางตรรกะเป็นจริง

if (เงื่อนไข)
{
     คำสั่ง;
}

    

1
2
3
4
5
6
ึ7
8
9
10
11
<?
   $a = 5;
   $b = -5 ;
   $c = 3;
   if ($a < $b)
   {   echo "\$a มีค่าน้อยกว่า \$b";
   }
   if ($b < $c)
   {   echo "\$b มีค่าน้อยกว่า \$c";
   }
?>

     จากตัวอย่าง โปรแกรมจะทำคำสั่งที่อยู่ภายใน if อันแรกก็ต่อเมื่อ ตัวแปร $a มีค่าน้อยกว่าตัวแปร $b และจะทำคำสั่งที่อยู่ภายใน if อันที่สองก็ต่อเมื่อตัวแปร $b มีค่าน้อยกว่าตัวแปร $c ซึ่งจะเห็นว่าในกรณีนี้เงื่อนไขของ if อันแรกเป็นเท็จ แต่ if อันที่สองเป็นจริง 
2. คำสั่ง else 
     else เป็นคำสั่งที่ใช้ร่วมกับ if ซึ่ง PHP จะทำคำสั่งภายใน else เมื่อเงื่อนไขหลัง if มีค่าทางตรรกะเป็นเท็จ 
if (เงื่อนไข)
{
     คำสั่ง;
}
else {
     คำสั่ง;
}


1
2
3
4
5
6
ึ7
8
9
10
<?
   $a = 5;
   $b = -5 ;
   if ($a < $b)
   {   echo "\$a มีค่าน้อยกว่า \$b";
   }
   else
   {   echo "\$a มีค่ามากกว่าหรือเท่ากับ \$b";
   }
?>


3. คำสั่ง elseif 

     ในโปรแกรมขนาดใหญ่หรือโปรแกรมที่มีความซับซ้อนมากขึ้น บางครั้งการตรวจสอบเงื่อนไขเดียวว่าเป็นจริงหรือเท็จยังไม่เพียงพอ เราจำเป็นจะต้องสร้างทางเลือกให้กับโปรแกรมมากกว่านี้ ยกตัวอย่างเช่น การตัดเกรดจากคะแนนสอบที่มีมากกว่า 2 เกรด เป็นต้น ซึ่งสามารถทำได้โดยใช้คำสั่ง elseif ร่วมกับคำสั่ง if 

if (เงื่อนไข)
{
     คำสั่ง;
}
elseif (เงื่อนไข){
     คำสั่ง;
}

1
2
3
4
5
6
ึ7
8
9
10
11
12
13
<?
   $b = -5 ;
   $c = 3;
   if ($b > $c)
   {   echo "$b มีค่ามากกว่า $c";
   }
   elseif ($b < $c)
   {   echo "$b มีค่าน้อยกว่า $c";
   }
   else
   {   echo "$b มีค่าเท่ากับ $c";
   }
?>

แสดงผลลัพธ์ 

4. คำสั่ง switch

     คำสั่ง switch จะคล้ายกับคำสั่ง if โดยจะช่วยอำนวยความสะดวก ในกรณีที่ต้องการเปรียบเทียบตัวแปรหรือนิพจน์หนึ่งๆ กับค่าหลายค่า 
switch (ตัวแปร)
{
     case กรณีที่ 1 : คำสั่ง1;   break;
     case กรณีที่ 2 : คำสั่ง2;   break;
               :                        
     case กรณีที่ n : คำสั่งn;   break;
     default : คำสั่ง;
}

1
2
3
4
5
6
ึ7
8
9
10
11
<?
   $day = date("l");
   switch ($day)
   {    case "Monday" : echo "วันนี้วันจันทร์"; break;
         case "Tuesday" : echo "วันนี้วันอังคารครับ"; break;
         case "Wednesday" : echo "วันนี้วันพุธค่ะ"; break;
         case "Tursday" : echo "วันนี้วันพฤหัสฯ อีกวันเดียวเท่านั้น"; break;
         case "Friday" : echo "วันนี้วันสุดท้ายของการทำงาน"; break;
         default : echo "เฮ!วันหยุด ได้อยู่บ้าน ";
   } 
?>


     จากตัวอย่าง ใชฟังก์ชั่น date เพื่อรับค่าวันในปัจจุบันของระบบมาเก็บไว้ในตัวแปร $day และมาเข้าเงื่อนไข switch ถ้าค่าวันที่รับเข้ามาเป็นตัวเลือกใดตัวเลือกหนึ่งใน case มันก็จะแสดงข้อความออกมา และ break แต่ถ้านอกเหนือจากค่าที่ระบุ ก็จะทำงานในส่วน default
 

ภาษา php (3)

ตัวดำเนินการทางคณิตศาสตร์ (Arithemetic Operators)

     เป็นตัวดำเนินการที่ใช้ในการคำนวณทางคณิตศาสตร์ ประกอบด้วย
+
-
*
/
%
การบวก (addition)
การลบ (subtraction)
การคูณ (multiplication)
การหาร (division)
การหารเอาเศษ (modulus) 

    

1
2
3
4
5
6
7
8
9
10
<?
   $a = 5;
   $b = 8 ;
   $c = 4;
   echo "<font size=5>";
   echo "$a + $b = ", $a+$b, "<br>";
   echo "$b % $c = ", $b%$c, "<br>";
   echo "$b / $a = ", $b/$a;
   echo "</font>";
?>



 เราสามารถเพิ่มหรือลดค่าของตัวแปรทีละหนึ่งตามรูปแบบที่นิยมใช้ในภาษา C และ Java โดยใช้ตัวดำเนินการต่นี้อไป

ตัวดำเนินการ
ความหมาย
ตัวอย่าง
คำอธิบาย
++
- -
+=
-=
*=
/=
%=
เพิ่มค่าขึ้น 1
ลดค่าลง 1
บวกทีละ X
ลบทีละ X
คูณกับ X
หารด้วย X
มอดด้วย X
$a++
$a- -
$a += 3
$a -= 5
$a *= 2
$a /= 10
$a %= 9
เพิ่มค่าให้กับตัวแปร $a อีก 1
ลด ค่าให้กับตัวแปร $a ลง 1
ความหมายเดียวกับ $a = $a+3
ความหมายเดียวกับ $a = $a-5
ความหมายเดียวกับ $a = $a*2
ความหมายเดียวกับ $a = $a/10
ความหมายเดียวกับ $a = $a%9


ตัวดำเนินการทางตรรกะ (Logical Operators)

     เป็นสัญลักษณ์ที่ใช้ดำเนินการกับค่าทางตรรกะ (จริง/เท็จ) ของตัวแปรหรือนิพจน์ ดังนี้

ตัวดำเนินการ
ชื่อ
ตัวอย่างการใช้งาน
ความหมาย
&&
และ (And)
$a && $b
ให้ค่าจริงเมื่อ $a เป็นจริง และ $b เป็นจริงทั้งคู่ มิฉะนั้นจะให้ค่าเท็จ
||
หรือ (Or)
$a || $b
ให้ค่าเท็จเมื่อ $a และ $b เป็นเท็จ นอกเหนือจากนั้นจะให้ค่าจริง
!
นิเสธ (Not)
!$a
ให้ค่าจริงเมื่อ $a เป็นเท็จ
ให้ค่าเท็จเมื่อ $a เป็นจริง
^
Exclusive Or
$a ^ $b
ให้ค่าจริงเมื่อ $a เป็นเท็จ และ $b เป็นจริง หรือ เมื่อ $a เป็นจริง และ $b เป็นเท็จ
    

 

ตัวดำเนินการเชิงเปรียบเทียบ (Comparison Operators)

     เป็นตัวดำเนินการที่ใช้เปรียบเทียบตัวแปรหรือนิพจน์ 2 ตัวแปร/นิพจน์ โดยจะให้ค่าจริงหรือค่าเท็จอย่างใดอย่างหนึ่งออกมา 
ตัวดำเนินการ
ชื่อ
ตัวอย่างการใช้งาน
==
เท่ากับ
$a == $b
!=
ไม่เท่ากับ
$a != $b
>
มากกว่า
$a > $b
<
น้อยกว่า
$a < $b
>=
มากกว่าหรือเท่ากับ
$a >= $b
<=
น้อยกว่าหรือเท่ากับ
$a <= $b
   

ภาษา php (2)

ตัวแปร

     การเขียนโปรแกรมด้วยภาษาทุกภาษาจะมีรูปแบบการประกาศตัวแปรที่แตกต่างกัน PHP ก็เป็นภาษาหนึ่งที่มีลักษณะโดดเด่นกว่าภาษาอื่น คือ การประกาศตัวแปรของ PHP ไม่ต้องประกาศชนิดข้อมูล (Data type) เนื่องจากภาษา PHP จะกำหนดชนิดของข้อมูลตามค่าของข้อมูลที่ได้รับ

การตั้งชื่อตัวแปร
  • ชื่อของตัวแปรสามารถเป็นได้ทั้งตัวอักษร ตัวเลข และเครื่องหมาย Underscore ( _ ) ได้
  • ต้องขึ้นต้นด้วยตัวอักษร หรือเครื่องหมาย Underscore เท่านั้น ห้ามขึ้นต้นด้วยตัวเลข
  • ต้องมีเครื่องหมาย $ นำหน้าเสมอ ซึ่งการเรียกใช้ตัวแปรก็ต้องมีเครื่องหมาย $ นำหน้าด้วย
  • ชื่อของตัวแปรใน PHP จะให้ความสำคัญกับตัวอักษรพิมพ์เล็ก-พิมพ์ใหญ่ (Case Sensitive)

1
2
3
4
5
<?
   $price = 500;
   $product = "เก้าอี้";
   echo"$product ราคา $price บาท ";
?>
 

     จากตัวอย่าง เป็นการกำหนดตัวแปร $price ขึ้นมาโดยกำหนดค่าให้ คือ 500 และ ตัวแปร $product ให้มีค่าเป็นข้อความว่า "เก้าอี้" ในการกำหนดค่าตัวแปรจะกำหนดหลังเครื่องหมาย Assignment Operator (=) ซึ่งสามารถเป็นได้ทั้งตัวเลข ตัวอักษร และตัวแปร จากนั้นจึงแสดงผลโดยใช้คำสั่ง echo
 ภาษา PHP จะมีลักษณะของ Case Sensitive เช่น $price จะเป็นคนละตัวกับ $PRICE และ $Price เป็นต้น


1
2
3
4
5
6
<?
   $PRICE = 800;
   $price = 500;
   echo"ลดราคาเก้าอี้พิเศษ<br>";
   echo"จากปกติ $PRICE บาท <br> เหลือ $price บาท";
?>

ชนิดข้อมูล


Integerตัวแปรแบบเลขจำนวนเต็ม เช่น 1, 2, -8, 117
Floatingตัวเลขซึ่งเป็นจำนวนทศนิยม เช่น 0.001, 8.5, -3.005
Stringตัวแปรอักขระ ตัวอักษร หรือข้อความ โดยต้องอยู่ภายใต้เครื่องหมาย Double Quote (" ") เช่น "MWIT"
Arrayเก็บค่าตั้งแต่ 1 ค่าขึ้นไปไว้ในชื่อตัวแปรเดียวกัน โดยมี index เป็นตัวระบุตำแหน่งของแต่ละข้อมูล
Objectกำหนดให้ตัวแปรนั้นเก็บคุณสมบัติของ Object ไว้ โดยใช้ชื่อ Class เป็นตัวกำหนด ชนิดข้อมูลประเภทนี้

การแปลงชนิดข้อมูล
     โดยปกติเมื่อมีการสร้างตัวแปรขึ้นมา ชนิดข้อมูลของตัวแปรจะเป็นไปตามข้อมูลที่กำหนดให้กับตัวแปรนั้น แต่หากต้องการเปลี่ยนชนิดข้อมูลให้เป็นตามที่เราต้องการ เช่น เปลี่ยนข้อมูลชนิดตัวเลขไปเป็นข้อมูลชนิดสตริง หรือเปลี่ยนข้อมูลชนิดจำนวนเต็มไปเป็นข้อมูลชนิดจำนวนทศนิยม ก็สามารถกระทำได้ 2 วิธี คือ การแปลงชนิดข้อมูลด้วยวิธี Cast และการแปลงชนิดข้อมูลด้วยฟังก์ชั่น settype()

การแปลงชนิดข้อมูลด้วยวิธี Cast
     เป็นการระบุชนิดข้อมูลที่ต้องการไว้หน้าตัวแปร โดย
(int), (integer)ใช้แปลงเป็นข้อมูลชนิดจำนวนเต็ม
(real), (double), (float)ใช้แปลงเป็นข้อมูลชนิดจำนวนทศนิยม
(string)ใช้แปลงเป็นข้อมูลชนิดสตริง
(array)ใช้แปลงเป็นข้อมูลชนิดอาร์เรย์
(object)ใช้แปลงเป็นข้อมูลชนิดออบเจ็ค


1
2
3
4
5
6
<?
   $num = 248.75;
   echo"ค่าตัวแปรก่อนการแปลงชนิดข้อมูล : $num <br>";
   $num = (int) $num;
   echo"ค่าตัวแปรหลังการแปลงชนิดข้อมูล : $num <br>";
?>
การแปลงชนิดข้อมูลด้วยฟังก์ชั่น settype 
ฟังก์ชั่น settype() เป็นฟังก์ชั่นที่ใช้แปลงชนิดข้อมูล ซึ่งมีรูปแบบการใช้งานดังนี้
 ettype(ตัวแปร, ชนิดข้อมูล)

1
2
3
4
5
6
<?
   $num = 248.75;
   echo"ค่าตัวแปรก่อนการแปลงชนิดข้อมูล : $num <br>";
   settype($num, "integer");
   echo"ค่าตัวแปรหลังการแปลงชนิดข้อมูล : $num <br>";
?>

 การระบุชนิดข้อมูลในฟังก์ชั่น settype() นั้นจะต้องอยู่ในรูปของสตริง โดยใส่เครื่องหมาย double quote ครอบชื่อชนิดข้อมูลที่ต้องการ เช่น "integer" เป็นต้น
 

ค่าคงที่

     ค่าคงที่ คือ ตัวแปรประเภทหนึ่ง ซึ่งทั้งโปรแกรมค่าคงที่จะมีได้เพียงแค่ค่าเดี่ยว การประกาศค่าคงที่ใน PHP ทำได้โดยใช้คำสั่ง define ซึ่งมีรูปแบบดังนี้

รูปแบบ      define (ชือค่าคงที่, ค่า)

1
2
3
4
5
6
<?
   define("MYNAME", "Somchai");
   define("DOGNAME", "BOG");
   define("mycolor", "blue");
   echo "<font color=", mycolor, ">";
   echo "My name is ", MYNAME, "<br>";
   echo "My dog name is ", DOGNAME, "<br>";
   echo "</font>";
?>

          จากข้างต้นจะเห็นว่า มีการประกาศค่าคงที่ 3 ตัว และค่าคงที่ทั้ง 3 ค่านี้เวลานำไปใช้ เราจะแทรกอยู่ภายนอกเครื่องหมาย "..." (Double quote)
 

ภาษา php (1)

PHP คืออะไร

โลโก้ PHP

     ในช่วงแรกภาษาที่นิยมใช้งานบนระบบเครือข่าย คือ ภาษา HTML (Hypertext Markup Language) แต่ภาษา HTML มีลักษณะเป็น Static คือ ภาษาที่มีลักษณะของข้อมูลคงที่ ซึ่งไม่เพียงพอต่อความต้องการในปัจจุบันที่นิยมใช้ระบบเครือข่าย Internet เป็นศูนย์กลางในการติดต่อระหว่างกัน ทำให้ต้องการใช้เว็บไซต์ที่มีลักษณะเป็นแบบ Dynamic คือ เว็บไซต์ที่ข้อมูลสามารถเปลี่ยนแปลงได้โดยอัตโนมัติตามเงื่อนไขต่าง ๆ ที่ผู้เขียนเว็บไซต์เป็นผู้กำหนด และการควบคุมการทำงานเหล่านี้จะกระทำโดยโปรแกรมภาษาสคริปต์ เช่น ภาษา PHP ซึ่งเป็นภาษาหนึ่งที่ได้รับความนิยมเป็นอย่างมากในปัจจุบัน

     PHP ถูกสร้างขึ้นในปี ค.ศ.1994 โดย Rasmus Lerdorf ต่อมามีผู้ให้ความสนใจเป็นจำนวนมาก จึงได้ออกเป็นแพ็คเกจ "Personal Home Page" ซึ่งเป็นที่มาของ PHP โดยภาษา PHP เป็นแบบ Server Side Script และเป็น Open Source ที่ผู้ใช้ทั่วไปสามารถดาวน์โหลด Source Code และโปรแกรมไปใช้ฟรี ได้ที่ http://www.php.net

     พอกลางปี ค.ศ.1995 เขาก็ได้พัฒนาตัวแปลภาษา PHP ขึ้นมาใหม่ โดยใช้ชื่อว่า PHP/FI เวอร์ชั่น 2 ซึ่งได้เพิ่มความสามารถในการรับข้อมูลที่ส่งมาจากฟอร์มของ HTML (จึงมีชื่อว่า FI หรือ Form Interpreter) นอกจากนั้นยังเพิ่มความสามารถในการติดต่อกับฐานข้อมูลอีกด้วย จึงทำให้ผู้คนเริ่มหันมาสนใจ PHP กันมากขึ้น

     ในปี 1997 มีผู้ร่วมพัฒนา PHP เพิ่มอีก 2 คน คือ Zeev Suraski และ Andi Gutmans (กลุ่มที่เรียกตัวเองว่า Zend ซึ่งย่อมาจาก Zeev และ Andi ) โดยได้แก้ไขข้อบกพร่องต่างๆ และเพิ่มเติมเครื่องมือให้มากขึ้น


โครงสร้างของภาษา PHP

     ภาษา PHP มีลักษณะเป็น embedded script หมายความว่าเราสามารถฝังคำสั่ง PHP ไว้ในเว็บเพจร่วมกับคำสั่ง(Tag) ของ HTML ได้ และสร้างไฟล์ที่มีนามสกุลเป็น .php, .php3 หรือ .php4 ซึ่งไวยากรณ์ที่ใช้ใน PHP เป็นการนำรูปแบบของภาษาต่างๆ มารวมกันได้แก่ C, Perl และ Java ทำให้ผู้ใช้ที่มีพื้นฐานของภาษาเหล่านี้อยู่แล้วสามารถศึกษา และใช้งานภาษานี้ได้ไม่ยาก 
ตัวอย่างที่ 1
1
2
3
4
5
6
7
8
9
10
<html>
<head>
<title>Example 1 </title>
</head>
<body>

<?
   echo"Hi, I'm a PHP script!";
?>

</body>
</html>



ความสามารถของภาษา PHP
  • เป็นภาษาที่มีลักษณะเป็นแบบ Open source ผู้ใช้สามารถ Download และนำ Source code ของ PHP ไปใช้ได้โดยไม่เสียค่าใช้จ่าย
  • เป็นสคริปต์แบบ Server Side Script ดังนั้นจึงทำงานบนเว็บเซิร์ฟเวอร์ ไม่ส่งผลกับการทำงานของเครื่อง Client โดย PHP จะอ่านโค้ด และทำงานที่เซิร์ฟเวอร์ จากนั้นจึงส่งผลลัพธ์ที่ได้จากการประมวลผลมาที่เครื่องของผู้ใช้ในรูปแบบของ HTML ซึ่งโค้ดของ PHP นี้ผู้ใช้จะไม่สามารถมองเห็นได้
  • PHP สามารถทำงานได้ในระบบปฎิบัติการที่ต่างชนิดกัน เช่น Unix, Windows, Mac OS หรือ Risc OS อย่างมีประสิทธิภาพ เนื่องจาก PHP เป็นสคริปต์ที่ต้องทำงานบนเซิร์ฟเวอร์ ดังนั้นคอมพิวเตอร์สำหรับเรียกใช้คำสั่ง PHP จึงจำเป็นต้องติดตั้งโปรแกรมเว็บเซิร์ฟเวอร์ไว้ด้วย เพื่อให้สามารถประมวลผล PHP ได้
  • PHP สามารถทำงานได้ในเว็บเซิร์ฟเวอร์หลายชนิด เช่น Personal Web Server(PWS), Apache, OmniHttpd และ Internet Information Service(IIS) เป็นต้น
  • ภาษา PHP สนับสนุนการเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming)
  • PHP มีความสามารถในการทำงานร่วมกับระบบจัดการฐานข้อมูลที่หลากหลาย ซึ่งระบบจัดการฐานข้อมูลที่สนับสนุนการทำงานของ PHP เช่น Oracle, MySQL, FilePro, Solid, FrontBase, mSQL และ MS SQL เป็นต้น
  • PHP อนุญาตให้ผู้ใช้สร้างเว็บไซต์ซึ่งทำงานผ่านโปรโตคอลชนิดต่างๆ ได้ เช่น LDAP, IMAP, SNMP, POP3 และ HTTP เป็นต้น
  • โค้ด PHP สามารถเขียน และอ่านในรูปแบบของ XML ได้


วันเสาร์ที่ 1 พฤศจิกายน พ.ศ. 2557

ฐานข้อมูล

สาระสำคัญ

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

ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล

ระบบฐานข้อมูล (Database System) หมายถึง โครงสร้างสารสนเทศที่ประกอบด้วยรายละเอียดของข้อมูลที่เกี่ยวข้องกันที่จะนำมาใช้ในระบบต่าง ๆ ร่วมกัน
ระบบฐานข้อมูล จึงนับว่าเป็นการจัดเก็บข้อมูลอย่างเป็นระบบ ซึ่งผู้ใช้สามารถจัดการกับข้อมูลได้ในลักษณะต่าง ๆ ทั้งการเพิ่ม การแก้ไข การลบ ตลอดจนการเรียกดูข้อมูล ซึ่งส่วนใหญ่จะเป็นการประยุกต์นำเอาระบบคอมพิวเตอร์เข้ามาช่วยในการจัดการฐานข้อมูล

นิยามและคำศัพท์พื้นฐานเกี่ยวกับระบบฐานข้อมูล

บิท (Bit)   หมายถึง หน่วยของข้อมูลที่มีขนาดเล็กที่สุด

ไบท์ (Byte)    หมายถึง หน่วยของข้อมูลที่กิดจากการนำบิทมารวมกันเป็นตัวอักขระ (Character)

เขตข้อมูล (Field)    หมายถึง หน่วยของข้อมูลที่ประกอบขึ้นจากตัวอักขระตั้งแต่หนึ่งตัวขึ้นไปมารวมกันแล้วได้ความหมายของสิ่งใดสิ่งหนึ่ง เช่น ชื่อ ที่อยู่ เป็นต้น

ระเบียน (Record)    หมายถึง หน่วยของข้อมูลที่เกิดจากการนเอาเขตข้อมูลหลาย ๆ เขตข้อมูลมารวมกัน เพื่อเกิดเป็นข้อมูลเรื่องใดเรื่องหนึ่ง เช่น ข้อมูลของนักศึกษา 1 ระเบียน (1 คน) จะประกอบด้วย
รหัสประจำตัวนักศึกษา 1 เขตข้อมูล
ชื่อนักศึกษา 1 เขตข้อมูล
ที่อยู่ 1 เขตข้อมูล

แฟ้มข้อมูล (File)   หมายถึงหน่วยของข้อมูลที่เกิดจากการนำข้อมูลหลาย ๆ ระเบียนที่เป็นเรื่องเดียวกันมารวมกัน เช่น แฟ้มข้อมูลนักศึกษา แฟ้มข้อมูลลูกค้า แฟ้มข้อมูลพนักงาน


ความสำคัญของการประมวลผลแบบระบบฐานข้อมูล

จากการจัดเก็บข้อมูลรวมเป็นฐานข้อมูลจะก่อให้เกิดประโยชน์ดังนี้
1. สามารถลดความซ้ำซ้อนของข้อมูลได้
การเก็บข้อมูลชนิดเดียวกันไว้หลาย ๆ ที่ ทำให้เกิดความซ้ำซ้อน (Redundancy) ดังนั้นการนำข้อมูลมารวมเก็บไว้ในฐานข้อมูล จะชาวยลดปัญหาการเกิดความซ้ำซ้อนของข้อมูลได้ โดยระบบจัดการฐานข้อมูล (Database Management System : DBMS) จะช่วยควบคุมความซ้ำซ้อนได้ เนื่องจากระบบจัดการฐานข้อมูลจะทราบได้ตลอดเวลาว่ามีข้อมูลซ้ำซ้อนกันอยู่ที่ใดบ้าง

2. หลีกเลี่ยงความขัดแย้งของข้อมูลได้
หากมีการเก็บข้อมูลชนิดเดียวกันไว้หลาย ๆ ที่และมีการปรับปรุงข้อมูลเดียวกันนี้ แต่ปรับปรุงไม่ครบทุกที่ที่มีข้อมูลเก็บอยู่ก็จะทำให้เกิดปัญหาข้อมูลชนิดเดียวกัน อาจมีค่าไม่เหมือนกันในแต่ละที่ที่เก็บข้อมูลอยู่ จึงก่อใให้เกิดความขัดแย้งของข้อมูลขึ้น (Inconsistency)

3. สามารถใช้ข้อมูลร่วมกันได้
ฐานข้อมูลจะเป็นการจัดเก็บข้อมูลรวมไว้ด้วยกัน ดังนั้นหากผู้ใช้ต้องการใช้ข้อมูลในฐานข้อมูลที่มาจากแฟ้มข้อมูลต่างๆ ก็จะทำได้โดยง่าย

4. สามารถรักษาความถูกต้องเชื่อถือได้ของข้อมูล
บางครั้งพบว่าการจัดเก็บข้อมูลในฐานข้อมูลอาจมีข้อผิดพลาดเกิดขึ้น เช่น จากการที่ผู้ป้อนข้อมูลป้อนข้อมูลผิดพลาดคือป้อนจากตัวเลขหนึ่งไปเป็นอีกตัวเลขหนึ่ง โดยเฉพาะกรณีมีผู้ใช้หลายคนต้องใช้ข้อมูลจากฐานข้อมูลร่วมกัน หากผู้ใช้คนใดคนหนึ่งแก้ไขข้อมูลผิดพลาดก็ทำให้ผู้อื่นได้รับผลกระทบตามไปด้วย ในระบบจัดการฐานข้อมูล (DBMS) จะสามารถใส่กฎเกณฑ์เพื่อควบคุมความผิดพลาดที่เกดขึ้น

5. สามารถกำหนดความป็นมาตรฐานเดียวกันของข้อมูลได้
การเก็บข้อมูลร่วมกันไว้ในฐานข้อมูลจะทำให้สามารถกำหนดมาตรฐานของข้อมูลได้รวมทั้งมาตรฐานต่าง ๆ ในการจัดเก็บข้อมูลให้เป็นไปในลักษณะเดียวกันได้ เช่นการกำหนดรูปแบบการเขียนวันที่ ในลักษณะ วัน/เดือน/ปี หรือ ปี/เดือน/วัน ทั้งนี้จะมีผู้ที่คอยบริหารฐานข้อมูลที่เราเรียกว่า ผู้บริหารฐานข้อมูล (Database Administrator : DBA) เป็นผู้กำหนดมาตรฐานต่างๆ

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

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


รูปแบบของระบบฐานข้อมูล

รูปแบบของระบบฐานข้อมูล มีอยู่ด้วยกัน 3 ประเภท คือ
1. ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
เป็นการเก็บข้อมูลในรูปแบบที่เป็นตาราง (Table) หรือเรียกว่า รีเลชั่น (Relation) มีลักษณะเป็น 2 มิติ คือเป็นแถว (row) และเป็นคอลัมน์ (column) การเชื่อมโยงข้อมูลระหว่างตาราง จะเชื่อมโยงโดยใช้แอททริบิวต์ (attribute) หรือคอลัมน์ที่เหมือนกันทั้งสองตารางเป็นตัวเชื่อมโยงข้อมูล ฐานข้อมูลเชิงสัมพันธ์นี้จะเป็นรูปแบบของฐานข้อมูลที่นิยมใช้ในปัจจุบัน ดังตัวอย่าง
พนักงาน

รหัสพนักงาน
ชื่อพนักงาน
ที่อยู่
เงินเดือน
รหัสแผนก
12501535
12534568
12503452
12356892
15689730
นายสมพงศ์
นายมนตรี
นายเอก
นายบรรทัด
นายราชัน
กรุงเทพ
นครปฐม
กรุงเทพ
นนทบุรี
สมุทรปราการ
12000
12500
13500
11500
12000
VO
VN
VO
VD
VA

รูปแสดงตารางพนักงาน
2. ฐานข้อมูลแบบเครือข่าย (Network Database)
ฐานข้อมูลแบบเครือข่ายจะเป็นการรวมระเบียนต่าง ๆ และความสัมพันธ์ระหว่างระเบียนแต่จะต่างกับฐานข้อมูลเชิงสัมพันธ์ คือ ในฐานข้อมูลเชิงสัมพันธ์จะแฝงความสัมพันธ์เอาไว้ โดยระเบียนที่มีความสัมพันธ์กันจะต้องมีค่าของข้อมูลในแอททริบิวต์ใดแอททริบิวต์หนึ่งเหมือนกัน แต่ฐานข้อมูลแบบเครือข่าย จะแสดงความสัมพันธ์อย่างชัดเจน ตัวอย่างเช่น

3. ฐานข้อมูลแบบลำดับชั้น (Hierarchical Database)
ฐานข้อมูลแบบลำดับชั้น เป็นโครงสร้างที่จัดเก็บข้อมูลในลักษณะความสัมพันธ์แบบพ่อ-ลูก (Parent-Child Relationship Type : PCR Type) หรือเป็นโครงสร้างรูปแบบต้นไม้ (Tree) ข้อมูลที่จัดเก็บในที่นี้ คือ ระเบียน (Record) ซึ่งประกอบด้วยค่าของเขตข้อมูล (Field) ของเอนทิตี้หนึ่ง ๆ
ฐานข้อมูลแบบลำดับชั้นนี้คล้ายคลึงกับฐานข้อมูลแบบเครือข่าย แต่ต่างกันที่ฐานข้อมูลแบบลำดับชั้น มีกฎเพิ่มขึ้นมาอีกหนึ่งประการ คือ ในแต่ละกรอบจะมีลูกศรวิ่งเข้าหาได้ไม่เกิน 1 หัวลูกศร