วันพฤหัสบดีที่ 31 มีนาคม พ.ศ. 2554

ฟังก์ชัน array_sum()

 ใช้ในการหาค่าผลรวมของสมาชิกทุกตัวในอาร์เรย์

รูปแบบ

$sum = array_sum(อาร์เรย์ที่ต้องการหาค่าผลรวม);

ตัวอย่าง

$num = array(1, 2, 3, 4, 5);
$sum = array_sum($num);
echo $sum;

// $sum = 1+2+3+4+5 = 15

ในกรณีที่อาร์เรย์มีสตริงรวมอยู่ด้วย แต่สตริงเป็นตัวเลข เช่น

$str = array(1, 2, '3', '4', '5');
$sum = array_sum($str);
echo $sum;

//$sum = 15 เนื่องจากสตริงที่เป็นตัวเลขจะสามารถถูกนำมาคำนวณด้วย 1+2+3+4+5

ในกรณีที่อาร์เรย์มีสตริงรวมอยู่ด้วยโดยที่สตริงมีทั้งสตริงและตัวเลข

$str = array(1, '2, '3', '4cat', 'dog5');
$sum = array_sum($str);
echo $sum;

//$sum = 10 เนื่องจากเฉพาะตัวเลขที่อยู่หน้าสตริงที่จะสามารถนำมาคำนวณได้

วันพุธที่ 30 มีนาคม พ.ศ. 2554

ฟังก์ชัน move_uploaded_file()

move_uploaded_file(ไฟล์ที่จะย้าย, ปลายทางที่เก็บไฟล์)

การอัพโหลดไฟล์ต้องวางอินพุตอัพโหลดไฟล์ดังนี้

<form>
     <input type="file" name="image" id="image" />
     <input id="submit" name="sunmit" type="submit" value="submit"/>
 </form>

ตัวแปร $_FILE

- เป็นตัวแปรชนิดอาร์เรย์แบบ Key/Value ใช้ในการจัดการข้อมูลที่ถูกโหลดมาในเซิร์ฟเวอร์ ได้แก่

  $_FILE['image']['type']    แทนชนิดของไฟล์ที่อัพโหลด เช่น .jpg
  $_FILE['image']['size']    แทนขนาดของไฟล์
  $_FILE['image']['tmp_name']   แทนตำแหน่งไดเรกทอรีที่เก็บไฟล์ไว้ชั่วคราว
  $_FILE['image']['name']    แทนชื่อไฟล์ที่อัพโหลด
  $_FILE['image']['error']    แทนข้อมูลที่ผิดพลาดจากการอัพโหลด โดยมีการคืนค่าดังนี้
                                         คืนค่า 0 แสดงว่าไม่มีข้อผิดพลาด
                                         คืนค่า 1 ไฟล์ที่อัพโหลดมีขนาดเกินกว่าค่าที่กำหนดใน php.ini  ปกติ2 MB
                                         คืนค่า 2 ไฟล์มีขนาดเกินค่าที่กำหนดใน MAX_FILE_SIZE ของฟอร์ม
                                         คืนค่า 3 ข้อผิดพลาดในการสื่อสารทำให้อัพโหลดไฟล์ไม่ได้
                                         คืนค่า 4 ไม่มีไฟล์
//image คือ ชื่ออินพุตของไฟล์ในฟอร์มที่ใช้อัพโหลด

move_uploaded_file() ใช้ในการเคลื่อนย้ายไฟล์จากไดเรกทอรี่ชั่วคราวไปยังตำแหน่งใหม่ซึ่งเราจะใช้ $_FILE['image']['tmp_name'] ในการอ้างถึงไดเรกทอรี่ชั่วคราว

ส่วนตำแหน่งไดเรกทอรี่ปลายทางถ้าต้องการใช้ชื่อเดิมจะใช้
$_FILE['image']['name']

ถ้าต้องการย้ายไปไดเรกทอรี่อื่นจะใช้

$fileName = mktime(date('H'), date('i'), date('s'),date('m'), date('d'), date('Y')).'.jpg'; 
//ตั้งชื่อให้กับภาพเพื่อจัดเก็บลงในฐานข้อมูล
 move_uploaded_file($_FILE['image']['tmp_name'], '../image/news/'.$fileName);


วันอังคารที่ 29 มีนาคม พ.ศ. 2554

ฟังก์ชัน array_key_exists()

 array_key_exists(key ที่ต้องการค้นหา, array ที่ต้องการค้นหา key)

- ใช้ในการตรวจสอบว่าอาร์เรย์มี key ที่ระบุหรือไม่
- ถ้ามี key ที่ระบุฟังก์ชันจะคือนค่าเป็น true แต่ถ้าไม่มีฟังก์ชันจะคือนค่าเป็น false
- ค่า key ที่ระบุจะต้องมีรูปแบบตัวใหญ่และตัวเล็กที่เหมือนกัน เช่น

  $a = array('name' => 'pizza');
  $b = array_key_exists('Name', $a);
          คืนค่าเป็น false
  $c = array_key_exists('name');
          คืนค่าเป็น true

ตัวอย่าง
File : student.inc.php
<?php
    $student = array(0=>array('name'=>'นางสาวหนึ่ง',
                          'surname'=>'หนึ่ง',
                          'phone'=>'0987667788',
                          'province'=>'กรุงเทพฯ',
                          'pet'=>array('pet1'=>'ปลาทอง',
                                       'pet2'=>'นกแก้ว'),
                          'sex'=>'หญิง'),
                 1=>array('name'=>'นายสอง',
                          'surname'=>'สอง',
                          'phone'=>'0987660088',
                          'province'=>'เชียงใหม่',
                          'pet'=>array('pet1'=>'แมว',
                                       'pet2'=>'สุนัข',
                                       'pet3'=>'ปลาทอง'),
                          'sex'=>'ชาย'),
                 2=>array('name'=>'นายสาม',
                          'surname'=>'สาม',
                          'phone'=>'0987699988',
                          'province'=>'กรุงเทพฯ',
                          'pet'=>'แมว',
                          'sex'=>'ชาย'),
                 3=>array('name'=>'นางสาวสี่',
                          'surname'=>'สี่',
                          'phone'=>'0987699988',
                          'province'=>'กรุงเทพฯ',
                          'sex'=>'หญิง'),
                 4=>array('name'=>'นายห้า',
                          'surname'=>'ห้า',
                          'phone'=>'0987598388',
                          'province'=>'ชัยนาท',
                          'sex'=>'ชาย'));

?>


File : studentPet.php
<?php
include('student.inc.php');
foreach($student as $key=>$value){
    if(array_key_exists('pet',$value)){         //ตรวจสอบให้แสดงแต่นักเรียนที่มีสัตว์เลี้ยง
        if($value['sex'] == 'หญิง'){
            echo "<div id='female'>";         //กำหนดสไตส์ใน css
            }
        else{
            echo "<div id='male'>";          //กำหนดสไตส์ใน css
        }
        echo "id : $key <br \>";
        foreach($value as $key2=>$value2){
            echo "$key2 : ";
            if(is_array($value2)){
                foreach($value2 as $pet=>$i){
                    echo "$i ";
                }
            echo "<br \>";
            }
            else{
                echo "$value2 <br \>";
            }
        }
        echo "</div>";
        echo "<br \>";
    }
}
?>

วันจันทร์ที่ 28 มีนาคม พ.ศ. 2554

ฟังก์ชัน date()


date(รูปแบบวันเวลา)

รูปแบบวันเวลา 

วัน
d  แทนวันที่เป็นเลขสองหลัก เช่น 03
j  แทนวันที่ไม่มี 0 นำหน้า เช่น 1
D แทนวันแบบอักษร เช่น Mon
l แทนวันแบบอักษรเต็ม เช่น Monday
S แทนอักษรย่อลำดับที่ของเดือน เช่น st, nd, td, th
w แทนลำดับวันในสัปดาห์ 0-6
z แทนลำดับวันในปี 0-365

เดือน
m แทนเดือนเป็นเลขสองหลัก เช่น 01
n แทนเดือนเป็นเลขแบบไม่มี 0 นำหน้า เช่น 1
M แทนชื่อเดือนแบบย่อ เช่น Jan
F  แทนชื่อเดือนแบบเต็ม เช่น January
t แทนจำนวนวันของเดือน เช่น ถ้าเป็นเดือนมีนาคมจะได้ผลลัพธ์ 31

ปี
Y แทน ค.ศ แบบเลขสี่หลัก เช่น 1990
y แทน ค.ศ แบบเลขสองหลัก เช่น 90
L ถ้าเป็น Leap Year จะคืนค่า 1 ไม่ใช่จะคืนค่า 0

เวลา
h แทนชั่วโมงแบบ 12 ชั่วโมง โดยมีเลข 0 นำหน้า เช่น 00-12
H แทนชั่วโมงแบบ 24 ชั่วโมง โดยมีเลข 0 นำหน้า เช่น 00-24
g แทนชั่วโมงแบบ 12 ชั่วโมง โดยไม่มี 0 นำหน้า เช่น 0-12
G แทนชั่วโมงแบบ 24 ชั่วโมง โดยไม่มี 0 นำหน้า เช่น 0-24
i แทนค่านาที 00-59
s แทนค่าวินาที่ 00-59
a  แทน am หรือ pm
A แทน AM หรือ PM


ตัวอย่าง
echo date('Y-m-d H:i:s');

// 2011-03-29 08:56:36

วันพฤหัสบดีที่ 24 มีนาคม พ.ศ. 2554

XMLHttpRequest

-XMLHttpRequest Object ใช้ในการควบคุมการแลกเปลี่ยนข้อมูลระหว่าง Web Browser กับ Web Server โดยที่เอกสารที่ใช้แลกเปลี่ยนระหว่างกัน คือ xml
-การใช้ XMLHttpRequest Object
 Web Browser ที่สนับสนุน ActiveX Object เช่น IE

window.ActiveXObject
  
หาก Web Browser ไม่สนับสนุน ActiveX Object เช่น FireFox

window.XMLHttpRequest
 

ตัวอย่าง code xml.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
var xmlHttp;
    if(window.ActiveXObject){
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        alert("IE");
    }
    else if(window.XMLHttpRequest){
        xmlHttp = new XMLHttpRequest();
        alert("FireFox");
    }
    else{
        alert("ไม่สามารถสร้าง xmlHttpRequest");
    }
</script>
</head>

<body>
</body>
</html>

ทดสอบด้วย FireFox