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

การส่งออกค่าจากฟังก์ชัน

การส่งออกค่าจากฟังก์ชัน

การส่งค่าออกจากฟังก์ชันใช้คีย์เวิร์ด return เช่นเดียวกับการออกจากฟังก์ชันได้ ถ้าไม่มีการระบุส่งออกฟังก์ชันจะส่งค่า NULL
ตัวอย่าง ฟังก์ชัน get_larger () สาธิตการส่งออกค่า
<?
function get_larger($x=NULL, $y=NULL) 
{
if (!isset($x) || !isset($y))
    return " ไม่มีการส่งค่า" ;
if ($x > $y) 
    return $x;
else if ($x < $y) 
    return $y;
else
    return " ค่าเท่ากัน" ;
}
$sends = array(); 
$sends[0] = array('x' =>5);
$sends[1] = array('x' =>9, 'y'=>3);
$sends[2] = array('x' =>5, 'y'=>8);
$sends[3] = array('x' =>4, 'y'=>4);
foreach ($sends as $send)
{
echo "x = ".$send['x']." y = ".$send['y']." : ค่า - > "
.get_larger($send['x'], $send['y']); 
echo "<br/>\n";
}
?>
ผลลัพธ์ 
x = 5 y = : ค่า - > ไม่มีการส่งค่า
x = 9 y = 3 : ค่า - > 9
x = 5 y = 8 : ค่า - > 8
x = 4 y = 4 : ค่า - > ค่าเท่ากัน

ฟังก์ชันที่ทำงานอาจเดียว แต่ไม่จำเป็นต้องส่งออกค่า มักจะส่งออก TRUE หรือ FALSE เพื่อระบุความสำเร็จหรือล้มเหลว ค่า TRUE หรือ FALSE สามารถได้รับการแสดงแทนด้วย 1 หรือ 0

Recursion

Recursion

recursion ได้รับการสนับสนุนใน PHP ฟังก์ชันชนิดนี้เป็นการเรียกตัวเองและเป็นประโยชน์กับการบังคับโครงสร้างข้อมูลไดนามิคส์ เช่น รายการเชื่อมโยงและโครงสร้างต้นไม้ (tree)

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

ตัวอย่างการประยุกต์แบบย้อนกลับตัวอักษร

ตัวอย่างการประยุกต์แบบย้อนกลับตัวอักษร
<?php
function word_reverse_r($str)
{
if (strlen($str)>0)
    word_reverse_r(substr($str, 1));
echo substr($str, 0, 1); 
return;
}
function word_reverse_i($str) 
{
for ($i=1; $i<=strlen($str); $i++) 
{
echo substr($str, -$i, 1);
}
return;
} 
?>
รายการคำสั่งของ 2 ฟังก์ชันนี้จะพิมพ์ข้อความย้อนกลับ ฟังก์ชัน word_reverse_r เป็น recursion ฟังก์ชัน word_reverse_i เป็นการวนรอบ
ฟังก์ชัน word_reverse_r ใช้ข้อความเป็นพารามิเตอร์ เมื่อมีการเรียกฟังก์ชันนี้ จะเกิดการเรียกตัวเองแต่ละครั้งส่งผ่านตัวอักษรที่ 2 ไปถึงตัวอักษรสุดท้าย

การเรียกฟังก์ชันแต่ละครั้งจะทำสำเนาใหม่ของคำสั่งในหน่วยความจำของแม่ข่าย แต่ด้วยพารามิเตอร์ต่างกัน ดังนั้นจึงเหมือนกับการเรียกคนละฟังก์ชัน

วันพฤหัสบดีที่ 6 พฤศจิกายน พ.ศ. 2557

ประโยชน์ของฐานข้อมูล

ประโยชน์ของฐานข้อมูล
1 ลดการเก็บข้อมูลที่ซ้ำซ้อน ข้อมูลบางชุดที่อยู่ในรูปของแฟ้มข้อมูลอาจมี
ปรากฏอยู่หลาย ๆ แห่ง เพราะมีผู้ใช้ข้อมูลชุดนี้หลายคน เมื่อใช้ระบบฐานข้อมูลแล้วจะช่วยให้
ความซ้ำซ้อนของข้อมูลลดน้อยลง
2 รักษาความถูกต้องของข้อมูล เนื่องจากฐานข้อมูลมีเพียงฐานข้อมูลเดียว ใน
กรณีที่มีข้อมูลชุดเดียวกันปรากฏอยู่หลายแห่งในฐานข้อมูล ข้อมูลเหล่านี้จะต้องตรงกัน ถ้ามีการ
แก้ไขข้อมูลนี้ทุก ๆ แห่งที่ข้อมูลปรากฏอยู่จะแก้ไขให้ถูกต้องตามกันหมดโดยอัตโนมัติด้วย
ระบบจัดการฐานข้อมูล
3 การป้องกันและรักษาความปลอดภัยให้กับข้อมูลทำได้อย่างสะดวก การ
ป้องกันและรักษาความปลอดภัยกับข้อมูลระบบฐานข้อมูลจะให้เฉพาะผู้ที่เกี่ยวข้องเท่านั้น 
ซึ่งก่อให้เกิดความปลอดภัย(security) ของข้อมูลด้วย

หน้าที่ของระบบการจัดการฐานข้อมูล

หน้าที่ของระบบการจัดการฐานข้อมูล
     ซอฟต์แวร์ระบบฐานการจัดการฐานข้อมูลที่ดีจะต้องทำหน้าที่แก้ปัญหาความไม่สมบูรณ์ ไม่คงเส้นคงวาของข้อมูลและทำให้ข้อมูลมีความถูกต้องไม่ขัดแย้งกันได้ จึงต้องมีหน้าที่ให้ครอบคลุมหลาย ๆ ด้าน ดังนี้
1.หน้าที่จัดการพจนานุกรมข้อมูล
  ในการออกแบบฐานข้อมูลโดยปกติ ผู้ออกแบบได้เขียนพจนานุกรมข้อมูลในรูปของเอกสารให้กับโปรแกรมเมอร์ โปรแกรมเมอร์จะใช้ซอฟต์แวร์ระบบการจัดการฐานข้อมูลสร้างพจนานุกรมข้อมูลต่อไป และสามารถกำหนดความสัมพันธ์ระหว่างตาราง  เมื่อมีการเปลี่ยนแปลงโครงสร้างข้อมูล จำเป็นต้องเปลี่ยนที่พจนานุกรมข้อมูลด้วย โปรแกรมเมอร์สามารถเปลี่ยนแปลงโครงสร้างข้อมูลได้ทันที ต่อจากนั้นจึงให้พจนานุกรมข้อมูลพิมพ์รายงาน พจนานุกรมข้อมูลที่เปลี่ยนแปลงไปแล้วเป็นเอกสารได้เลยทันที่ โดยไม่ต้องแก้ไขที่เอกสาร
2.หน้าที่จัดการแหล่งจัดเก็บข้อมูล
  ระบบการจัดการฐานข้อมูลที่ทันสมัยจะไม่ทำหน้าที่เพียงจัดการแหล่งจัดเก็บข้อมูลเท่านั้น แต่ยังเพิ่มหน้าที่ที่เกี่ยวกับการสร้างฟอร์มป้อนข้อมูลเข้าหรือกำหนดแบบจอภาพ แบบรายงาน หรือแม้แต่การตรวจสอบข้อมูลนำเข้าว่าถูกต้องหรือไม่ และจัดการเรื่องอื่น ๆ อีกหลายอย่าง
3.การเปลี่ยนรูปแบบและการแสดงผลข้อมูล
  การเปลี่ยนรูปแบบและการแสดงผลข้อมูล เป็นหน้าที่สำหรับเปลี่ยนข้อมูลที่ถูกป้อนเข้าไปเป็นโครงสร้างข้อมูลจะจัดเก็บ ซึ่งอยู่ในมุมมองทางกายภาพ หรืออาจจะกล่าวได้ว่า ระบบจัดการฐานข้อมูลทำข้อมูลให้เป็นอิสระจากโปรแกรมประยุกต์ได้
 4.จัดการด้านความปลอดภัยของข้อมูล
  ระบบจัดการฐานข้อมูลทำหน้าที่รักษาความมั่นคง ความปลอดภัยของข้อมูล การไม่ยินยอมเข้าถึงข้อมูลจากผู้ใช้ที่ไม่มีสิทธิ์เข้าไปใช้ฐานข้อมูล โดยเฉพาะอย่างยิ่งฐานข้อมูลประเภทผู้ใช้หลายคน นอกจากนี้ยังสามารถกำหนดสิทธิ์ให้ผู้ใช้แต่ละคนใช้คำสั่ง เพิ่ม หรือลบ ปรับปรุงข้อมูลได้เป็นรายคนหรือรายกลุ่ม
5.ควบคุมการเข้าถึงข้อมูลของผู้ใช้ 
  การควบคุมการเข้าถึงข้อมูล เป็นการทำหน้าที่ให้ผู้ใช้เข้าใช้ได้หลาย ๆ คนในเวลาเดียวกันโดยไม่ทำให้เกิดขัดข้องของข้อมูล ซึ่งจะเน้นกฎความสมบูรณ์ของข้อมูลและการใช้ข้อมูลพร้อมกัน


 6.สำรองข้อมูลและการกู้คืนข้อมูล
 การสำรองข้อมูลและการกู้คืนข้อมูล เป็นหน้าที่ที่จำเป็นอย่างยิ่งเพื่อให้ผู้ใช้ระบบฐานข้อมูลมั่นใจว่าข้อมูลที่จัดเก็บอยู่ในเครื่องคอมพิวเตอร์ไม่ได้เสียหาย ยังมีความสมบูรณ์อยู่ตลอดเวลา ผู้ใช้ที่เป็นผู้บริหารฐานข้อมูลสามารถใช้คำสั่งสำรองข้อมูลและคำสั่งกู้คืนข้อมูลได้
  7.จัดการด้านบูรณภาพของข้อมูล
 เป็นข้อกำหนดให้มีกฎความสมบูรณ์เป็นบูรณภาพ โดยจะให้มีข้อมูลที่ซ้ำซ้อนกันให้น้อยที่สุด แต่ให้มีความถูกต้องตรงกันให้มากที่สุด เพราะในระบบฐานข้อมูลเชิงสัมพันธ์จะมีหลาย ๆ ตารางที่สัมพันธ์กันตารางที่เกี่ยวข้องกันจะขัดแย้งกันไม่ได้
  8.เป็นภาษาสำหรับจัดการข้อมูลและจัดสร้างส่วนประสานกับผู้ใช้
 ระบบจัดการฐานข้อมูลจัดให้มีภาษาสำหรับสอบถาม  เป็นภาษาที่เขียนเข้าใจง่ายไม่เหมือนภาษาชั้นสูงประเภท Procedural ทั่วไป ทำให้ผู้เขียนโปรแกรมภาษาระดับสูงเขียนคำสั่งเข้าไปสอบถามข้อมูลหรือประมวลผลสารสนเทศได้ตามต้องการ
  9.เป็นส่วนประสานกับผู้ใช้ในด้านการสื่อสารฐานข้อมูล
   ระบบการจัดการฐานข้อมูลสมัยใหม่จะสนับสนุนการทำงานแบบเครือข่ายอินเทอร์เน็ต เพื่อให้ผู้ใช้สามารถเขียนคำสั่งด้วยโปรแกรมที่ทำงานบน www เช่น browser  ของ Internet Explorer หรือ Netscape เป็นต้น


เขตข้อมูล

เขตข้อมูล
       การประมวลผลข้อมูลเพื่อให้ได้สารสนเทศ จะมีองค์ประกอบที่สำคัญอย่างหนึ่งคือ แฟ้มข้อมูล ความหมายของแฟ้มข้อมูลหนึ่ง ๆ นั้น มักจะเป็นเอกสารที่เป็นเรื่องเดียวกันและจัดเก็บรวบรวมไว้เป็นแฟ้มข้อมูลเพื่อสะดวกในการค้นหาข้อมูล เช่น แฟ้มข้อมูลประวัติพนักงาน การเก็บรวบรวมข้อมูลในรูปของเอกสารเพื่อประโยชน์ในการใช้งาน ถ้าข้อมูลที่เก็บรวบรวมไว้มีจำนวนน้อยความยุ่งยากในการค้นหาหรือในการจัดเก็บก็จะไม่เกิดขึ้น แต่ถ้าข้อมูลที่เก็บรวบรวมไว้มีจำนวนมากจะมีปัญหาเกิดขึ้นในเรื่องของการค้นหาข้อมูลนั้นและสิ้นเปลืองพื้นที่ในการจัดเก็บข้อมูลนั้น ๆ วิธีการแก้ปัญหาการจัดเก็บแฟ้มข้อมูลที่อยู่ในรูปของเอกสารเมื่อข้อมูลมีจำนวนมากขึ้นก็คือการนำข้อมูลเหล่านั้นเก็บไว้ในระบบคอมพิวเตอร์ ข้อมูลทั้งหมดจะถูกเก็บรวบรวมไว้เป็นแฟ้มข้อมูล เช่นเดียวกับการจัดเก็บเป็นเอกสารแต่จะเป็นแฟ้มข้อมูลที่ถูกจัดเก็บไว้ในอุปกรณ์ของคอมพิวเตอร์ เช่น แผ่นจานบันทึกแม่เหล็กหรือเทปแม่เหล็ก
       ข้อมูล หมายถึง กลุ่มของสารสนเทศที่สัมพันธ์กัน ความสัมพันธ์ของกลุ่มสารสนเทศหรือข้อมูลนั้นถูกกำหนดโดยผู้ใช้แฟ้มข้อมูล ข้อมูลเป็นส่วนประกอบสำคัญในการทำงานของคอมพิวเตอร์ เพราะข้อมูลเป็นวัตถุดิบในการประมวลผลข้อมูลทั้งหมดที่จัดการโดยคอมพิวเตอร์ประกอบด้วยบิต (bit) ซึ่งเป็นโครงสร้างที่เล็กที่สุดในแต่ละบิตจะเป็นตัวเลขในระบบเลขฐานสอง ประกอบด้วย 0 และ 1 ซึ่งนำมาใช้แทน ระหว่างสองสถานะ เช่น จริง-เท็จ เปิด-ปิด เป็นต้น เพื่อให้สามารถแสดงสารสนเทศได้มากขึ้น บิตจึงถูกรวมต่อกันเข้าเป็นสายเพื่อแสดงสารสนเทศ โดยนำบิตเหล่านั้นมาทำให้เป็นหน่วยที่ใหญ่ขึ้นเรียกว่าไบต์ (byte)
       ไบต์ ประกอบขึ้นมาจากบิตหลาย ๆ บิตมาเรียงต่อกัน แต่เนื่องจากคอมพิวเตอร์เข้าใจเพียงเลข 0 และเลข 1 เท่านั้นถ้าต้องการให้คอมพิวเตอร์รูปจักอักขระตัวอักษร A,B….,Z จะต้องมีการเอาเลข 0 และเลข 1 มาเรียงต่อกันเป็นรหัสแทนอักขระ โดยปกติ 1 ตัวอักขระจะมีความยาว 8 บิต ซึ่งเท่ากับ 1 ไบต์ จำนวนบิตที่นำมาเรียงต่อกันเป็นไบต์นี้แตกต่างกันไปตามรหัสแทนข้อมูล รหัสแทนข้อมูลที่ใช้กันแพร่หลายมี 2 ระบบคือ รหัสเอบซีดิก (EBCDIC) และรหัสแอสกี (ASCII) ใช้ 8 บิต รวมกันเป็น 1 ไบต์ โดย 1 ไบต์ จะใช้แทนอักขระ 1 ตัว
       เมื่อเรานำอักขระหลายๆตัวรวมกันโดยมีความหมายอย่างใดอย่างหนึ่งเราจะเรียกว่า เขตข้อมูลหรือฟิลด์ (filed) เช่น การรวมของตัวอักษรและตัวเลขเพื่อใช้แทนรหัสลูกค้า เช่น ‘C0100001’ เป็นต้น ฟิลด์คือกลุ่มของอักขระที่สัมพันธ์กันตั้งแต่ 1 ตัวขึ้นไปที่นำมารวมกันแล้วแสดงลักษณะหรือความหมายอย่างใดอย่างหนึ่ง
       ฟิลด์ คือ กลุ่มของอักขระทีสัมพันธ์กัน ตั้งแต่ 1 ตัวขึ้นไปที่นำมารวมกันแล้วแสดงลักษณะหรือความหมายอย่างใดอย่างหนึ่ง ฟิลด์แต่ละฟิลด์ยังแยกออกเป็นประเภทข้อมูล ซึ่งจะบ่งบอกว่าในเขตฟิลด์นั้นบรรจุข้อมูลประเภทใดไว้ สามารถแยกประเภทของฟิลด์ได้เป็น 3 ประเภทคือ
          - ฟิลด์ตัวเลข (numeric field) ประกอบด้วย อักขระที่เป็นตัวเลข ซึ่งอาจเป็นเลขจำนวนเต็มหรือทศนิยมและอาจมีเครื่องหมายลบหรือบวก เช่น ยอดคงเหลือในบัญชีเป็นกลุ่มของตัวเลข
          - ฟิลด์ตัวอักษร (alphabetic field) ประกอบด้วย อักขระที่เป็นตัวอักษรหรือช่องว่าง (blank) เช่น ชื่อลูกค้าเป็นกลุ่มของตัวอักษร
          - ฟิลด์อักขระ (character field หรือ alphanumeric field) ประกอบด้วย อักขระซึ่งอาจจะเป็นตัวเลขหรือตัวอักษรก็ได้ เช่น ที่อยู่ของลูกค้า
       ข้อมูลที่ปรากฏอยู่ในฟิลด์ เป็นหน่วยย่อยของระเบียนที่บรรจุอยู่ในแฟ้มข้อมูล เช่น ฟิลด์เลขรหัสประจำตัวบุคลากร ฟิลด์เงินเดือนของลูกจ้าง หรือฟิลด์เลขหมายโทรศัพท์ของพนักงาน ตัวอย่าง เช็คของธนาคารแห่งหนึ่งประกอบด้วย ชื่อที่อยู่ธนาคาร เช็คเลขที่ จ่ายจำนวนเงินเป็นตัวเลข จำนวนเงินเป็นตัวอักษร สาขาเลขที่ เลขที่บัญชี และลายเซ็น

       ฟิลด์บางฟิลด์อาจจะประกอบด้วยข้อมูลหลาย ๆ ประเภทรวมกันในฟิลด์ เช่น ฟิลด์วันที่ประกอบด้วย 3 ฟิลด์ย่อย ๆ คือ วันที่ เดือน และปี หรือในฟิลด์ชื่อธนาคาร ยังประกอบด้วยหลายฟิลด์ย่อย ๆ คือ ชื่อธนาคาร ที่อยู่ เมือง ประเทศ และรหัสไปรษณีย์

วันอังคารที่ 4 พฤศจิกายน พ.ศ. 2557

วิธีการสร้างฐานข้อมูล

วิธีการสร้างฐานข้อมูล
1.    เปิดเบราเซอร์เข้าลิ้งค์ http://localhost.
2.       คลิกที่ phpMyAdmin หรือเข้าที่ลิ้งค์ http://localhost/phpmyadmin

 3.    ชื่อผู้ใช้งาน ใส่ root
  - รหัสผ่าน อันเดียวกับตอนที่ติดตั้ง appserv
 4. ใส่ชื่อของฐานข้อมูลที่ต้องการ และคลิก สร้าง




5. ฐานข้อมูลถูกสร้างแล้ว