php mysql training

Post on 13-Mar-2016

228 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

PHP Programming Language Training

เทคโนโลย PHP กบการพฒนา

ความหมายของ PHP ? ในปจจบน Web site ตาง ๆ ไดมการพฒนาในดานตางๆ อยางรวดเรว อาทเชน เรองของความสวยงามและแปลกใหม, การบรการขาวสารขอมลททนสมย,เปนสอกลางในการตดตอ และสงหนงทก าลงไดรบความนยมเปนอยางมากซง อไดวาเปนการปฏวตรปแบบการ ขายของกคอ E-commerce ซงเจาของสนคาตางๆ ไมจ าเปน ตองมรานคาจรงและไมจ าเปนตองจางคนขายของอกตอไปรานคาและตวสนคานน จะไปปรากฏอยบน Wed site และการซอขายกเกดขนบนโลกของ Internet แลว PHP ชวยเราใหเปนการพฒนา Web site และความสามารถทโดดเดนอกประการ-หนงของ PHP นน คอ database-enabled web page ท าใหเอกสารของ HTML สามารถท จะเชอมตอกบระบบฐานขอมล (database)ไดอยางมประสทธภาพและรวดเรว จงท าให ความตองการในเรองการจดรายการสนคาและรบรายการสงของตลอดจนการจดเกบ ขอมลตางๆ ทส าคญผานทาง Internet เปนไปไดอยางงายดาย PHP เปนภาษาจ าพวก scripting language ค าสงตางๆจะเกบอยในไฟลทเรยกวา สครปต (script) และเวลาใชงานตองอาศยตวแปลชดค าสง ตวอยางของภาษาสครปกเชน JavaScript, Perl เปนตน ลกษณะของ PHP ทแตกตางจากภาษาสครปตแบบอนๆ คอ PHP ไดรบการพฒนาและออกแบบมา เพอใชงานในการสรางเอกสารแบบ HTML โดยสามารถสอดแทรกหรอแกไขเนอหาไดโดยอตโนมต ดงนนจงกลาววา PHP เปนภาษาทเรยกวา server-side หรอ HTML-embedded scripting language เปนเครองมอทส าคญชนดหนงทชวยใหเราสามารถสรางเอกสารแบบ Dynamic HTML ไดอยางมประสทธภาพและมลกเลนมากขน

เนองจากวา PHP ไมไดเปนสวนหนงของตว Web Server ดงนนถาจะใช PHP กจะตองดกอนวา Web server นนสามารถใชสครปต PHP ไดหรอไม ยกตวอยางเชน PHP สามารถใชไดกบ Apache WebServer และ Personal Web Server (PWP) ส าหรบระบบปฏบตการ Windows 95/98/NT ในกรณของ Apache เราสามารถใช PHP ไดสองรปแบบคอ ในลกษณะของ CGI และ Apache Module ความแตกตางอยตรงทวา ถาใช PHP เปนแบบโมดล PHP จะเปนสวนหนงของ Apache หรอเปนสวนขยายในการท างานนนเอง ซงจะท างานไดเรวกวาแบบทเปน CGI เพราะวา ถาเปน CGI แลว ตวแปลชดค าสงของ PHP ถอวาเปนแคโปรแกรมภายนอก ซง Apache จะตองเรยกขนมาท างานทกครง ทตองการใช PHP ดงนน ถามองในเรองของประสทธภาพในการท างาน การใช PHP แบบทเปนโมดลหนงของ Apache จะท างานไดมประสทธภาพมากกวา

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ลกษณะเดนของ PHP ใชไดฟร PHP เปนโปร แกรมวงขาง Sever ดงนนขดความสามารถไมจ ากด Conlatfun-นนคอPHP วงบนเครอง UNIX,Linux,Windows ไดหมด เรยนรงาย เนองจาก PHP ฝงเขาไปใน HTML และใชดครงสรางและไวยากรณภาษางายๆ เรวและมประสทธภาพ โดยเฉพาะเมอใชกบ Apach Xerve เพราะไมตองใชโปรแกรมจากภายนอก ใชรวมกบ XML ไดทนท ใชกบระบบแฟมขอมลได ใชกบขอมลตวอกษรไดอยางมประสทธภาพ ใชกบโครงสรางขอมลใชไดแบบ Scalar,Array,Associative array ใชกบการประมวลผลภาพได

เรมปฏบตการเบองตน

ค าอธบายหรอ Comment ในภาษา PHP ถาเราตองการเขยนค าอธบายในสวนใดๆกตามของสครปต เรากจะสามารถท าไดโดยใช /* ... */ เหมอนในภาษาซ หรอ // เหมอนในภาษาจาวา หรอ # เหมอน shell script โปรดสงเกตวา // ใชเขยนน าค าอธบายในภายบรรทดหนงๆเทานน สวน # ใชเรมตนของบรรทดทเขยนค าอธบาย <? # comment $a = 41; // set $a to 41. $b =10; // set $b to 10. $b += $a; /* add $a to $b */ echo $b," \n"; ?>

------ <? class stack { var $arrays; var $size;

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

function stack() { // class constructor $this->size = 0; unset($this->arrays); }

function push($elem) { // put an element on stack $this->arrays[$this->size] = $elem; $this->size++; }

function get_size() { // get number of elements stored return $this->size; }

function is_empty() { // is stack empty ? return ($this->size == 0) ? true : false; }

function pop() { // retrieve an element from the top of stack if ( $this->is_empty() == false ) { $this->size--; return $this->arrays[$this->size]; } else return 0; } }

$inst = new stack; // create an object from stack class echo "initial stack size=".($inst->get_size()),"<BR>\n";

for ($i=0; $i < 10; $i++) { $inst->push( ($i*7)%11 );

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

} echo "current stack size=".($inst->get_size()),"<BR>\n";

while (! $inst->is_empty() ) { echo "pop ".$inst->pop(),"<BR>\n"; }

echo "stack is ".($inst->is_empty() ? "empty." : "not empty.")."<BR>\n";

$inst = 0; // unuse this instance of class stack ?>

ค าสงพนฐาน

Echo

รปแบบค าสง Echo ขอความท1,ขอความท1,ขอความท1,....; ตวอยาง Sample1.php

<? echo"Hello Word <br>"; echo"Hello PHP Programming"; ?>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Print รปแบบของค าสง Print("ขอความทตองการแสดง"); ค าสง Print จะท างานเหมอนกบค าสง Echo แตค าสง Print นนสามารถแสดงคาไดครงหนงคาเทานน ในขณะทค าสง Echo สามารถแสดงคาไดหลาย ๆ คา

ตวอยาง

Sample2.php

<? echo"Hello Word"; echo"<br>"; echo"Hello PHP Programming"; ?>

Out Put

Printf รปแบบค าสง (Printf(String format,…); ค าสง Printf จะท างานเหมอนกบค าสง echo และ print เพอสงขอมลไปแสดงท Brownser แตค าสง Printf นนสามารถทจะก าหนดรปแบบการแสดงขอมลไดดวย เหมอนกบภาษา C

Sample3.php

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<? $name="Werachai Nukitram"; $old=21; $salary=3900.45; $key=165; printf("ชอ %s ",$name); printf("<br>อาย %d ",$old); printf("<br>เงนเดอน %.2f ",$salary); printf("<br>Character ของ key คอ %c ",$key); ?>

สญลกษณในฟงกชน prinf();

%d เลขฐานสบ

%b เลขฐานสอง

%c รหส ASCII

%f ทศนยม

%o เลขฐานแปด

%s ตวอกษร String

%x , %X

เลขฐานสบหก

Out put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Flush

โดยปกตค าสงทใชในการสงขอมลไปยง Browser นนจะตองมการเกบขอมล ไวในหนวยความจ าในสวนทเรยกวา Buffer กอน และสงขอมลไปกตอเมอ ขอมลทอยใน Buffer นนเตม Flushนนจะ ท าใหขอมลทอยในBuffer ถกสง ลไปแสดงท Browser โดยทนท โดยไมตองรอใหขอมลใน Buffer นนเตม

รปแบบของค าสง

Flush(); <? Echo"สงขอความไปให Browser"; Flush(); ?> บางค าสงอาจจะใชแทนกนไดครบ เชน print กบ Echo ใหเลอกใชใหเหมาะสมกบ Program แลวกนครบ

การเขยน PHP รวมกบ Html

ภาษา php สาารถแทรกในเอกสาร Html ไดเหมอนกบภาษา Asp

โดยจะอยภายใตเครองหมาย <? .................. ?> ซงสามารถก าหนดไดหลายรปแบบ เชน

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<? ... ?> (SGML style) <?php ... ?> (XML style) <script language="php"> ... </script> (JavaScript style) <% ... %> (ASP style)

ตวอยาง Sample1.php

<html> <head> <title>Test My Homepage</title> </head> <body> สวนของ Html<br> <? echo"สวนของ php"; ?><br> สวนของ Html<br> <? echo"คณสามารถแทรก Script php ใวตรงไหนกได"; ?> </body> </html>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ชนดของขอมลและตวแปร ส าหรบการเขยนโปรแกรมส าหรบภาษาคอมพวเตอรระดบสง สงทจะขาดเสยมไดคอ การก าหนดและใชตวแปร (variable) ตวแปรในภาษา PHP จะเหมอนกบในภาษา Perl คอเรมตนดวยเครองหมาย dollar ($) โดยเราไมจ าเปนตองก าหนดแบบของขอมล (data type) อยางเจาะจงเหมอนในภาษาซ เพราะวา ตวแปลภาษาจะจ าแนกเองโดยอตโนมตวา ตวแปรดงกลาว ใชขอมลแบบใด ในชวงเวลานนๆ เชน ขอความ จ านวนเตม จ านวนทมเลขจดทศนยม ตรรก เปนตน

Integer จ านวนเตมบวก และจ านวนเตมลบ เลขฐานสบ ฐานแปด และฐานสบหก

Float เกบจ านวนจรงทงบวกและลบ ทงมทศนยม และไมมทศนยม

String เกบจ านวนตวเลข และ ขอความ

Array เกบขอมลทเปนชด หรอ อารเรย

Object เกบขอมลในลกษณะออปเจกตเพอการเรยกใชเปน Class Object หรอ Function

Type juggling เกบขอมลในลกษณะเฉพราะหรอผทใชเพมเขามา

หลกการตงชอ ตวแปร $var-name=value;

ขอบเขตการตงชอตวแปร - ขนตนดวยเครงหมาย $ แลวตามดวยตวอกษร A-Z,a-z - มความยาวไมเกน 255 ตวอกษร - หามมจดทศนยม หรอชองวาง - จะตองไมตรงกบค าสงวน และควรตงชอ ใหมความหมายใกลเคยงกบ คาทเกบ - ตวอกษรเลกหรอใหญจะเปนตวแปรตางกน - ถาตงตวแปรมาใหม แลวทบตวแปรเกา คาของตวแปรเกาจะหายไป

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

การตรวจสอบชนดของตวแปร gettype($var-name);

ตวอยางเชน <? $a=1234; echo gettype($a); ?> การประกาศคาตวแปร 1.Integer เกบจ านวนเตมบวก และจ านวนเตมลบ เลขฐานสบ ฐานแปด และฐานสบหก $a=123; $a=-123;

Sample1.php

<? $a=123; $b=456; $c=$a+$b; echo"$c"; ?>

Out Put

2. Float เกบจ านวนจรงทงบวกและลบ ทงมทศนยม และไมมทศนยม

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$a=1.23; $a=-1.23;

Sample2.php

<? $a=123.45; $b=456.78; $c=$a*$b; printf("%.2f ",$c); ?>

Out Put

3.String เกบจ านวนตวเลข และ ขอความ

$a="PHP Programming"; $a="1234567890";

Sample3.php

<? $a="PHP Programming"; $b="1234567890"; echo"$a <br> $b"; ?>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

การตรวจสอบวาตวแปรนมการก าหนดคาหรอไม isset($var-name); <? $a=1234; if (isset($a)) { echo"ไมมการก าหนดคาตวแปร"; } else { echo"มการก าหนดคาตวแปร"; } ?>

การตรวจสอบวาตวแปรนมคาวางหรอไม empty($var-name);

<? $a=1234; if (empty($a)) { echo"ตวแปรมคาวาง"; } else

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

{ echo"ตวแปรมคาไมวาง"; } ?> Sample4.php <? $mystring = "Hello World!"; $myinteger = 1031; $myfloat = 3.14; ?>

ถาเราตองการจะแสดงคาของตวแปร กอาจจะใชค าสง echo ได ตวอยางเชน echo "$mystring\n"; echo "$myinteger\n"; echo "$myfloat\n"; สญลกษณ \n หมายถงการขนบรรทดใหม เปน escape character ตวหนง (ส าหรบตวอนๆ โปรดดในตาราง) เมอพมพขอความเปนเอาพต และโปรดสงเกตวา ส าหรบการใชงานภายในเอกสาร HTML การขนบรรทดใหมโดยใช \n จะแตกตางจากการขนบรรทดโดยใช <BR> ใน HTML <? $mystring = "Hello World!"; $myinteger = 1031; $myfloat = 3.14; echo "$mystring<BR>\n"; echo "$myinteger<BR>\n"; echo "$myfloat<BR>\n"; ?>

Escaped characters \n newline \r carriage

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

\t horizontal tab \\ backslash \$ dollar sign \" double-quote %% percent ตวแปรตวหนง อาจจะมขอมลหลายแบบในชวงเวลาทตางกน แตการจะใชงานบางครงจะตองดดวยวา เมอไหรจะใชเปนตวเลขเทานน และไมใชกบขอความเปนตน ตวอยางเชน <? $x = 10; $y = $x + 15.5; echo "$x, $y \n"; $x = "abc"; echo "$x \n"; $z = $x + 15.5; echo "$x, $z \n"; echo ("100.5" - 16); echo (0xef + 007);

?>

ในกรณน เราก าหนดในตอนแรกวา $x ใหเกบคา 10 ซงเปนจ านวนเตม ถาเราน ามาบวกกบ 15.5 ผลทไดกจะเปน 25.5 ซงกลายเปนเลขทศนยม แลวเกบไวในตวแปร $y ตอมาก าหนดใหตวแปร $x เกบสตรงคทเกบขอความ "abc" ถาเราน ามาบวกกบ 15.5 กรณนกจะใหผลทไดไมถกตอง เนองจากไมสามารถน าขอความมาบวกกบตวเลขได แต PHP อนญาตใหเราท าเชนนนไดในบางกรณ สมมตวา สตรงคมเฉพาะตวเลขและสามารถเปลยนเปน เลขจ านวนเตม หรอจ านวนจรงไดโดยอตโนมต เรากน าสตรงคนมาบวกลบคณหรอหารกบตวแปรทเกบเปนตวเลขได

คาคงทส าหรบเลขจ านวนเตม อาจจะอยในรปของเลขฐานแปดหรอสบหกกได ถาเปนเลขฐานแปดจะมเลขศนยน า ถาเปนเลขฐานสบหกจะม 0x น าหนา

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

หากตองการก าหนด ชอตวแปรจากคาของตวแปรกสามารถก าหนดไดเปน

$$var-name=value;

ตวแปรเพอแสดงคาของระบบ

DOCUMENT_ROOT แสดง path root directory

GATEWAY_INTERFACE แสดงคาอนเทอรเฟชของ Cgi

HTTP_ACCEPT_LANGUAGE ภาษาทใช

HTTP_CONNECTION สถานภาพการ คอนเนกต

HTTP_USER_AGENT แสดงประเภทของโปรแกรมทเรยกเขามา เชน IE

PATH_INFO แสดงชอเอกสาร

PATH_TRANSLATED แสดง Path ของเอกสาร

QUERY_STRING แสดงคาใน Query String

REMOTE_ADDR แสดงคา Ip ของเครองทเขามา

REMOTE_PORT แสดง Port เครองทเขามา

REQUEST_METHOD แสดงคารบสงวาเปน Get หรอ Post

SCRIPT_NAME แสดงชอเอกสาร

SERVER_NAME แสดงชอ Server

SERVER_PORT แสดง Prot ของ Server

SERVER_PROTOCOL แสดง โปรโตคอลของ Server

SERVER_SOFTWARE แสดง โปรแกรมของ Server

คณสามารถดโครงสรางรวมทงระบบตาง ๆ ทคณใชงานอยไดโดย <? phpinfo(); ?>

Sample1.php

<? echo "Document : " .$DOCUMENT_ROOT."<br> ";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo "Interface : " .$GATEWAY_INTERFACE."<br> "; echo "Language : " .$HTTP_ACCEPT_LANGUAGE."<br> "; echo "Connection : " .$HTTP_CONNECTION."<br> "; echo "Browser : " .$HTTP_USER_AGENT."<br> "; echo "Path Info : " .$PATH_INFO."<br> "; echo "Path Translated : " .$PATH_TRANSLATED."<br> "; echo "Query String : " .$QUERY_STRING."<br> "; echo "IP Address Client : " .$REMOTE_ADDR."<br> "; echo "Port Client : " .$REMOTE_PORT."<br> "; echo "Request Method : " .$REQUEST_METHOD."<br> "; echo "Script Name : " .$SCRIPT_NAME."<br> "; echo "Server Name : " .$SERVER_NAME."<br> "; echo "Server Port : " .$SERVER_PORT."<br> "; echo "Server Protocol : " .$SERVER_PROTOCOL."<br> "; echo "Server Software : " .$SERVER_SOFTWARE."<br> "; echo "PHP OS : " .(PHP_OS)."<br> "; echo "PHP Version : " .(PHP_VERSION)."<br>"; ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out put

ตวแปร Array

เปนตวแปรชดทมการเกบคาตวแปรทม ชนดของขมลเหมอนกน เชน เกบ รายชอของพนกงาน อาย เงนเดอน

- Arrary 1 มต $a[0]="Somchai"; $a[1]="Werachai"; $a[2]="Surachai"; $a[3]="Adisorn";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

การประกาศตวแปร

$a[5]

จะมสมาชก 6 ตวคอ $a[0],$a[1],$a[2],$a[3],$a[4],$a[5]

$a[3]

จะมสมาชก 4 ตวคอ $a[0],$a[1],$a[2],$a[3] Sample

<? $color_table["red"] = 0xff0000; $color_table["green"] = 0x00ff00; $color_table["blue"] = 0x0000ff; $color_name= "red"; echo "value = ".$color_table[ $color_name]."<BR>\n"; ?> Out value = 16711680 การใชค าสง each และ list ส าหรบ associative array ถาเราตองการจะเขาถงขอมลแตละคทถกเกบอยใน associative array เราอาจจะใชวธเรยกผานฟงกชน each() และ list() ตามตวอยางตอไปน Sample <? unset($a); $a = array( "a" => 10, "b" => 20, "c" => 30 ); while (list($key,$value) = each($a)) { echo "$key=$value <BR>\n"; } ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out a=10 b=20 c=30 ฟงกชน each() จะอานขอมลทละคจากอารเรยแบบเชอมโยงมาแลวสงไปยงฟงกชน list() ซงจะท าหนาทแยกเกบ ซงในกรณกคอ เกบไวในตวแปร $key และ $value หลงจากนน เรากสามารถน าคาของตวแปร ไปใชงานตามทตองการได - Arrary 2 มต

$a[0][0]="Somchai"; $a[0][1]="Werachai"; $a[1][2]="Surachai";

การประกาศตวแปร

$a[2][2]

จะมสามชก 8 ตว คอ $a[0][0],$a[0][1],$a[0][2],$a[1][0],$a[2][0],$a[1][1],$a[1][2],$a[2][2], Sample <? $countries = array ( "thailand" => array ( "zone" => "Asia", "D_NAME" => ".th"), "malasia" => array ( "zone" => "Asia", "D_NAME" => ".my"), "india" => array ( "zone" => "Asia", "D_NAME" => ".in"), "holland" => array ( "zone" => "Europe", "D_NAME" => ".nl"), "france" => array ( "zone" => "Europe", "D_NAME" => ".fr") ); echo "domain name=".$countries[ "thailand"]["D_NAME"]."<BR>\n"; ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put

domain name=.th - Array 3 มต

$a[0][0][0]="Somchai"; $a[0][1][2]="Werachai"; $a[1][2][3]="Surachai";

Sample1.php

<? $a[0]="Somchai"; $a[1]="Werachai"; $a[2]="Surachai"; $a[3]="Adisorn"; $b[0]=20; $b[1]=21; $b[2]=22; $b[3]=23; for($i=0;$i<=3;$i++) { echo"name : $a[$i] Old $b[$i] <br>"; } ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put

Sample2.php

<? $a=array("Somchai","Werachai ","Surachai","Adisorn"); for($i=0;$i<=3;$i++) { echo"name : $a[$i] <br>"; } ?>

Out Put

อารเรยในภาษา PHP นนจะแตกตางจากอารเรยในภาษาซหรอจาวาตรงทวา อารเรยในภาษา PHP มขนาดทเปลยนแปลงได หรอจะเรยกวา dynamic array หรอ vector (ส าหรบอารเรยมตเดยว) เรมตนอาจจะแจงใชตวแปรแบบอารเรย พรอมเจาะจงขนาดเรมแรก เชน มขนาดเปนศนยกได

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$myarray[]=3; $myarray[]=1.1; $myarray[]="abc";

แตเมอใชอารเรยไป ขนาดของมนจะปรบเปลยนได คอขยายจ านวนขอมลทเกบอยภายในอารเรย ตามจ านวนขอมลทเราใสเพมเขาไป จากตวอยางขางบน ในกรณทเรามไดก าหนดเลขดชน (index) กหมายความวา จะมการขยายขนาดของอารเรยเพมขนอกหนงโดยอตโนมต ทกครงทเราใสขอมลทอยทางขวา และคาทเราก าหนดจากทางขวามอ และจะเกบไวในทใหมของอารเรย เราไมตองค านงถงเรองการจอง หรอ ปลดปลอยหนวยความจ าของอารเรย เหมอนอยางในกรณของอารเรย แบบไดนามกในภาษาซ

นอกจากนนขอมลแตละตวในอารเรยไมจ าเปน ตองเปนขอมลชนดเดยวกน เชน อาจจะมทงจ านวนเตม เลขทศนยม และขอความ ปะปนกนไป ตวอยางเชน <? $myarray[0] = 1; echo "number of elements =".count($myarray)."<BR>\n";

$myarray[1] = "abc"; echo "number of elements =".count($myarray)."<BR>\n";

$myarray[2] = 1.3; echo "number of elements =".count($myarray)."<BR>\n";

$myarray[]= 13+10; // the same as $myarray[3]= 13+10; echo "number of elements =".count($myarray)."<BR>\n";

for ($i=0; $i < 4; $i++) { echo $myarray[$i]," \n"; }

?>

ถาเราตองการจะทราบจ านวนของขอมลทมอยในอารเรยเราจะใชค าสง count()

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

เทคนคหนงทใชในการสรางอารเรยทเกบหลายๆขอความหรอสตรงค คอ แทนทเราจะก าหนดคาของสมาชก ในอารเรยทละตว เราจะสรางไดโดยอตโนมต โดยเกบสตรงคเหลานนไวในสตรงคเพยงอนเดยวโดยมสญลกษณ | เปนตวแยก และกแลวใชฟงกชนเปนตวแบงเพอสรางอารเรยอกท ตามตวอยาง <? // create empty array $a=array(); // define string containing color names separated by | (pipe) $color_names="red|green|blue";

// create array from string $a=explode("|",$color_names); while ($color=each($a)) { echo "$color[1]<BR>\n"; // note: $color[0] contains the index (0,1,2,...) } ?>

ลองดอกตวอยางหนงทใชฟงกชน explode() สรางอารเรยโดยอตโนมตส าหรบใสไวใน FORM ในสวนของ SELECT เปนเมนใหเลอก <? // create selection list from a given string function str2select($str, $delim) { $options = explode($delim,$str); $num = count($options); for( $i=0; $i < $num;$i++) { echo "<option> $options[$i]</option>\n"; } }

$select_str="10 บาท|20 บาท|30 บาท|40 บาท|50 บาท|100 บาท|200 บาท|500 บาท|1000 บาท"; ?>

<FORM> <SELECT NAME="testform">

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<? str2select($select_str,"|"); ?> </SELECT> </FORM> การใชอารเรยสองมต ถาเราตองการจะใชอารเรยแบบสองมต (หรอมากกวา) กท าไดเชนกน คอชอตวแปรแลวตามดวย [..][..] ตวอยางเชน <? $dim = 3; for ($row=0; $row <= $dim; $row++) { for ($column=0; $column <= $dim; $column++) { $myarray2[$row][$column] = 4*$row + $column; echo $myarray2[$row][$column]," "; } echo "<BR>\n"; }

?> สงเกตวา ส าหรบการใชงานตวแปรทเปนอารเรย เราไมจ าเปนตองแจงใชตวแปรทเปนอารเรย พรอมก าหนดขนาดกอนการใชงาน

คาคงท Constant

คอ คาทก าหนดแลว สามารถเรยกใชงานไดทก ๆ ครง ทเราประกาศขนมา สามารถแบงออกไดเปน 2

ประเภทคอ

1.คาคงท PHP ก าหนดมาให เปนคาทเราสามารถน าไปใชงานไดทนท

E_ERROR แสดงขอผดพลาดท parse ตรวจหาไมพบ

E_WARNING แสดงเงอนไขใหทราบ และท างานตอไป

E_PARSE การ parse ท าใหเกดขอผดพลาดใน Program ทไมสามารถตรวจพบ

E_NOTICE เมอเกดความผดพลาด การเอกซคตยงมตอไป

_FILE_ แสดงชอไฟลทท างานอย เพอตรวจสอบหาขอผดพลาด

_LINE_ แสดงจ านวนบรรทดของไฟล เพอตรวจสอบหาขอผดพลาด

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

PHP_VERSION แสดง V. ของ PHP ทใชงานอย

PHP_OS แสดงระบบปฏบตการทใชเปน Server

TRUE ตรวจสอบคาจรง

FALSE ตรวจสอบคาเทจ

2.คาคงททผใชก าหนดขนเอง เราสามารถก าหนดคาคงท เหมอนกบการประกาศตวแปร

รปแบบ Define(Constant-name,Value)

เมอ Constant-name ชอ ของคาคงท Value คาทจะก าหนดให

เชน

DEFINE("name","Werachai Nukitram"); DEFINE("old","21"); DEFINE("add","Surin");

Sample1.php

<? DEFINE("name","Werachai Nukitram"); DEFINE("old","21"); DEFINE("add","Surin"); echo ("Your name : ".name); echo ("<br>Your Old : " .old); echo ("<br>Address : ".add); ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out put

Operator และ การเปรยบเทยบทางคณต ฯ

ใน PHP มโอเปอเรเตอรดวยกนทงหมด 7 ชนดดวยกนดงน จะยกตวอยางทจ าเปนทเราตองน าไปใชเทานนครบ

Arithmetic Operators โอเปอเรเตอรทางคณตศาสตร String Operators โอเปอเรเตอรเชงขอความ Assignment Operators โอเปอเรเตอรก าหนดคา Bitwise Operators โอเปอเรเตอรเปรยบเทยบบต Logical Operators โอเปอเรเตอรเชงตรรกศาสตร Comparison Operators โอเปอเรเตอรเชงเปรยบเทยบ Operator Precedence โอเปอเรเตอรเพม-ลดคา

- Arithmetic Operators โอเปอเรเตอรทางคณตศาสตร

ตวอยาง ความหมาย ผลลพธ

$a + $b บวก ผลบวกของ $a และ $b. $a - $b ลบ ผลลพธจาก $b ลบออกจาก $a. $a * $b คณ ผลคณของ $a และ $b. $a / $b หาร ผลหารของ $a และ $b. $a % $b หารเอาเศษ เศษจากการหารของ $a หารโดย $b.

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

- String Operators เปน โอเปอเรเตอรทใชกบขอความซงจะใช (.) เพยง โอเปอเรเตอรเดยว

ตวอยาง

<? $a = "PHP"; $b = "Programming"; $c = $a.$b; echo"$c"; ?>

Out Put

PHPProgramming - Assignment Operators โอเปอเรเตอรก าหนดคา

โอเปอเรเตอรพนฐานคอ "=" คอคณจะตองคดวาคาทางซายมอของโอเปอเรเตอรคอผลลพธจาก ค าสงทกระท าทางขวามอ

$a = 3; $a += 5; // $a = 8, มความหมายวา $a = $a + 5; $b = "Hello "; $b .= "There!"; // $b = "Hello There!",เหมอนกบ $b = $b . "There!";

เครองหมาย ความหมาย รปแบบ ผลลพธถาก าหนดให

$a=2 = ก าหนดคา $a=1 1

+= เพมคา $a += 1 3 -= ลบคา $a -= 1 1 *= คณคา $a *= 1 2 /= หารคา $a /= 1 2

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

- Logical Operators โอเปอเรเตอรเชงตรรกศาสตร

ตวอยาง ความหมาย ผลลพธ

$a and $b And จรงกตอเมอ $a และ $b เปนจรง $a or $b Or จรงถา $a หรอ $b ตวใดตวหนงเปจรง $a xor $b Or จรงถา $a หรอ $b ตวใดตวหนงเปนจรง, แตจะไมจรงถาทงสองไม

จรง. ! $a Not จรงถา $a ไมจรง $a && $b And จรงทง $a และ $b เปนจรง $a || $b Or จรงถา $a หรอ $b ตวใดตวหนงเปจรง

- Comparison Operators โอเปอเรเตอรเชงเปรยบเทยบ

ตวอยาง ความหมาย ผลลพธ

$a == $b เทากบ จรงถา $a มคาเทากบ $b. $a != $b ไมเทากบ จรงถา $a มคาไมเทากบ $b. $a < $b นอยกวา จรงถา $a มคานอยกวา$b. $a > $b มากกวา จรงถา $a มคามากกวา $b. $a <= $b นอยกวาหรอ

เทากบ จรงถา $a มคานอยกวาหรอเทากบ $b.

$a >= $b มากกวาหรอเทากบ

จรงถา $a มคามากกวาหรอเทากบ $b.

Sample

<?

$a=5; $b=8; $c=4; echo "<font size=5 face='arial'>";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo "$a + $b = ",$a+$b,"<br>"; echo "$c - ($a + $b) = ",$c - ($a+$b),"<br>"; echo "$b * $c = ,$b*$c,"<br>"; echo "$b / $c = ",$b /$c,"<br>"; echo "$b / $a =",$b / $a,"<br>"; echo "$b % $a =",$b % $a,"<br>";

?>

Out Put 5 + 8 = 13 4 - (5+8) = -9 8 * 4 = 32 8 / 4 = 2 8 / 5 =1.6 8 % 5 = 3 Sample <? $x=3; echo $x++,"<BR>\n"; echo $x,"<BR>\n"; $x=3; echo ++$x,"<BR>\n"; echo $x,"<BR>\n";

$x=3; echo $x--,"<BR>\n"; echo $x,"<BR>\n";

$x=3; echo --$x,"<BR>\n";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo $x,"<BR>\n"; ?>

การก าหนดคาของตวแปรทเปนตวเลขหรอสตรงคโดยใช assignment operators การก าหนดคา (assignment ) หรอเปลยนแปลงคาใหแกตวแปร จะใชโอเปอรเรเตอร (assignment operators) ไดในหลายๆรปแบบ เหมอนอยางทใชในภาษาซ ตามตวอยางตอไปน <? $x=0; $x += 1; // the same as $x = $x + 1; $x--; // the same as $x = $x - 1; $x *= 3; // the same as $x = $x * 3; $x /= 2; // the same as $x = $x / 2; $x %= 4; // the same as $x = $x % 4; $x=""; $x .= 'A'; // append char to an existing string $x .= "BC"; // append string to an existing string ?> จากตวอยางขางบน ในกรณของการตอสตรงค เราจะใชจด (.) เปนโอเปอรเรเตอร การใชตวแปรเปนชอของตวแปร ภาษา PHP เปดโอกาสใหเราสามารถเลอกหรอเปลยนชอของตวแปรได ตวอยางเชน <? $a = "var1"; $$a = 10.3; echo "$a ${$a} $$a <BR>\n"; echo "$var1 <BR>\n";

?> จากตวอยางขางบน เราก าหนดใหตวแปร $a เกบสตรงค "var1" และจะใชเปนชอของตวแปรอกตวหนง โดยทางออม $$a เปนการอางถงตวแปรทมชอเดยวกบคาของตวแปร $a (ในกรณนคอ var1) ดงนนถาเราเขยนวา $$a หรอ $var1 กหมายถงตวแปรตวเดยวกน ถาตองการแสดงคาของ $$a โดยใชค าสง echo โดยอยในสตรงค (ระหวาง double quotations) เราจะตองเขยน ${$a} ไมใช $$a เพราะวา ถาเขยนตามแบบหลง ตวแปลค าสงจะอานคา $a กอนแลวแทนทลงในขอความ ซงจะได $var1แทนทจะเปนการอานคาของ $var1

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

เทคนคนยงสามารถใชไดกบฟงกชน ตวอยางเชน <? function foobar() { echo "foobar<BR>\n"; } function callFunc ($f) { if ( is_string($f) == true) { $f(); } }

callFunc("foobar");

?> ตวอยางขางบนอาจจะท าใหเกดปญหาถาสมมตวา $f เปนชอของฟงกชนทไมมอยจรง วธตรวจสอบคอ การใชฟงกชน function_exists() ดงตอไปน <? function MyFunc() { print ("ok..<BR>\n"); } $f="myFunc"; if ( function_exists($f) ) { $f(); } else { echo "$f does not exist!"; }

?>

เงอนไขสายงานเพอการตดสนใจ

1. If...else สามารถใชได 2 วธคอ

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Sample1.php

<? $a = 1; if ($a==1) { echo"a=1 OK"; } ?>

Out Put

a=1 OK

อกตวอยางครบ

<? if ($x == 0) { echo $x; echo " is zero.<BR>\n"; } else if ($x > 0) { echo $x; echo " is positive.<BR>\n"; } else { echo $x; echo " is negative.<BR>\n"; }

?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Sample2.php

<? $a = 1; if ($a > 2) { echo" OK a > 2"; } else { echo" Not OK a < 2"; } ?>

Out Put

Not OK a < 2 2.if..elseif..esle

Sample3.php

<? $a = 4; if ($a==1) { echo" a = 1 OK "; } elseif ($a==2) { echo" a = 2 OK"; } elseif ($a==3) {

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo" a = 3 OK "; } else { echo" a Not OK "; } ?>

Out Put

a Not OK

3.Switch Case

Sample4.php

<? $a = 3; Switch ($a) { case 1 : echo "a = 1 OK"; break; case 2 : echo "a = 2 OK"; break; case 3 : echo "a = 3 OK"; break; case 4 : echo "a = 4 OK"; break; default : echo " a Not OK"; } ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

out Put a = 3 OK <? $day=1; switch ($day) { case 1 : echo "Monday<BR>\n"; break; case 2 : echo "Tuesday<BR>\n"; break; case 3 : echo "Wednesday<BR>\n"; break; case 4 : echo "Thurday<BR>\n"; break; case 5 : echo "Friday<BR>\n"; break; case 6: echo "Saturday<BR>\n"; break; case 7 : echo "Sunday<BR>\n"; break; default : echo "error<BR>\n"; } ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put Monday หากใชอยในรปของ String จะก าหนดเปน Case "String"

3.Break ค าสง break และ continue ภายในลปอยางทใชกนในภาษาซ กน ามาใชกบภาษา PHP ได ตวอยางเชน Sample5.php <? unset($a); $a[]=1; $a[]=2; $a[]=3; $a[]="red"; $a[]="green"; $a[]="blue"; $a[]="none"; $i=0; $found="not found"; for ($i=0; $i < count($a); $i++) { if ( is_long($a[$i]) ) { // skip all integer elements continue; } if ($a[$i] == "blue") { $found=$a[$i]; break; } } echo $found,"<BR>\n";

?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

4.Continue

เปนค าสงกระโดการท างานรอบใหม คอ เมอโปรแกรมเจอค าสงนจะกระโดดท างานใหมทนท

ตวอยาง

<html> <body> <? for ($a=0;$a<=20;$a++) { if ($a % 2) continue; echo "$a <br>"; } ?> </body> </html>

ค าสง continue บงคบใหไปเรมตนท าขนตอนในการวนลปครงตอไป 5.Require และ Include ค าสงทงสองเอาไวแทรกเนอหาจากไฟลอนทตองการ ขอแตกตางระหวาง include และ require อยตรงทวา ในกรณของการแทรกไฟลใชชอตางๆกนมากกวาหนงครงโดยใชลป ค าสง require จะอานเพยงแคครงเดยว คอไฟลแรก และจะแทรกไฟลนเทานนไปตามจ านวนครงทวนลป ในขณะท include สามารถอานไดไฟลตางๆกนตามจ านวนครงทตองการ <? $filename[]="file1.inc"; $filename[]="file2.inc"; for ($i = 0; $i < 2; $i++) { include $filename[$i]; } ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ไฟล file1.inc Hello world 1<BR> ไฟล file2.inc Hello world 2<BR> ตวอยางการแทรกไฟลทมค าสงสครปต <? include ("script.inc"); ?> ไฟล script.inc: <P><CENTER><BLINK><? echo "Hi, How are you!" ?></BLINK></CENTER> การแทรกไฟลภายในโครงสรางของ if-else หรอ for-loop เปนตน มขอควรระวงเวลาใช คอ จะตองใส { } เอาไว เพอใหอยในบลอกของโครงสราง if ($version < 1.0) { include ($DOCUMENT_ROOT."/old.inc"); } else { include ( $DOCUMENT_ROOT."/new.inc") ; } ดงนนควรจะระมดระวง การแทรกไฟลโดยใช include หรอ require ในต าแหนงๆตาง โดยเฉพาะอยางยงในกรณท แทรกไฟลทมค าสง PHP อยดวย 6.Redirect เปนการยายการท างานของ Page ปจจบนเพอไปไฟลเปาหมาย header('location:file.php');

7.or

เงอนไข OR ขอก าหนดเงอนไข เหตการณเปนจรงเหตการณใดเหตการณหนง กคอพบขอมลตวแปรตวใดตวหนง โปรแกรมจงจะท างาน

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ตวอยางค าสง <html> <body> <? $name=paskorn; $named=; if (($name == "") && ($named == "")){ print "ขอมลไมสมบรณ"; }else{ print "<h1>เงอนไข OR เปนจรงอยางใดอยางหนงหรอทงสองอยาง โปรแกรมกสามารถท างานได</h1>" ; print "Your First name is $name<br>" ; print "and Last name is $named" ; } ?> </body> </html>

9.And

ขอก าหนดเงอนไข เหตการณจะตองเปนจรงทงสองเหตการณ กคอพบขอมลตวแปรทงสอง โปรแกรมจงจะท างาน

ตวอยางค าสง

<html> <body> <? $name=paskorn; $named=roungrong; if (($name == "") || ($named == "")){ print "ขอมลไมสมบรณ"; }else{ print "<h1>เงอนไข AND เปนจรงทงสองอยาง โปรแกรมจะท างาน</h1>" ;

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

print "Your First name is $name<br>" ; print "and Last name is $named" ; } ?> </body> </html>

ลปและการท าซ า

For จะท างานจนเงอนไขนนเปนเทจ ถงจะกระโดดออกจากลป

Sample1.php

<? For ($a=1;$a<=5;$a++) { echo"<font size=$a> ขอความใหญขน และจะหยดท างานเมอ a=5 <br> "; } ?>

Out Put

ขอความใหญขน และจะหยดท างานเมอ a=5 ขอความใหญขน และจะหยดท างานเมอ a=5 ขอความใหญขน และจะหยดท างานเมอ a=5 ขอความใหญขน และจะหยดท างานเมอ a=5 ขอความใหญขน และจะหยดท างานเมอ a=5

Sample2.php

<? $a=array("Somchai","Werachai ","Surachai","Adisorn");

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

for($i=0;$i<=3;$i++) { echo"name : $a[$i] <br>"; } ?>

Out Put

name : Somchai name : Werachai name : Surachai name : Adisorn

While

จะพจารณาเงอนไขแลวคอยท า ถาเงอนไขเปนจรงจะท า ถาเทจ จะกระโดดออกจากลปทนท

Sample3.php

<? $a=1; while ($a<=5) { echo"<font size=$a> ขอความใหญขน และจะหยดท างานเมอ a=5 <br> "; $a++; } ?>

Out Put

ขอความใหญขน และจะหยดท างานเมอ a=5 ขอความใหญขน และจะหยดท างานเมอ a=5 ขอความใหญขน และจะหยดท างานเมอ a=5 ขอความใหญขน และจะหยดท างานเมอ a=5

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ขอความใหญขน และจะหยดท างานเมอ a=5 Sample4.php

<? $a=array("Somchai","Werachai ","Surachai","Adisorn"); $i=0; while($i<=3) { echo"name : $a[$i] <br>"; $i++; } ?>

Out Put

name : Somchai name : Werachai name : Surachai name : Adisorn

Do..While

ท ากอนแลวคอยพจารณาเงอนไข ถาเงอนไขเปนเทจ จะกระโดดออกจากลปทนท

Sample5.php

<? $a=1; do { echo"<font size=$a> ขอความใหญขน และจะหยดท างานเมอ a=5 <br> "; $a++;

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

}while($a<=5) ?>

Out Put

ขอความใหญขน และจะหยดท างานเมอ a=5 ขอความใหญขน และจะหยดท างานเมอ a=5 ขอความใหญขน และจะหยดท างานเมอ a=5 ขอความใหญขน และจะหยดท างานเมอ a=5 ขอความใหญขน และจะหยดท างานเมอ a=5

Sample6.php

<? $a=array("Somchai","Werachai ","Surachai","Adisorn"); $i=0; do { echo"name : $a[$i] <br>"; $i++; }while($i<=3) ?>

Out Put

name : Somchai name : Werachai name : Surachai name : Adisorn

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ตวอยางการใช while-do loop เพอค านวณคา เลขยกก าลงสอง ซงมเลขฐานตงแต 1 ถง 10 <? $x = 1; while ($x <= 10) { echo $x*$x,"\n"; $x++; } ?> เรมตนดวยการก าหนดตวแปร $x ใหมคาเปนหนง ซงในกรณน เราใชเปนเลขฐาน ในการค านวณเลขยกก าลงสอง เมอเขาสการวนลปแบบ while-do จะมการตรวจดเงอนไข ของการวนลปในแตละครงวา เงอนไขเปนจรงอยหรอไม ในกรณน เราก าหนดเงอนไขในการวนลปไววา ถาคาของ $x มคานอยกวาหรอเทากบ 10 กใหท าค าสงทอยภายในลป ซงกคอ echo $x*$x,"\n"; โดยจะพมพคาของผลคณซงหมายถงเลขยกก าลงสองนนเอง หลงจากนน กใหเพมคาของ $x ทละหนงในการวนลปแตละครง คาของ $x จะเพมขนเรอยๆจนมคามากกวา 10 เมอถงเวลานน กจะเปนการจบการวนลป เพราะวา เราจะไดวา เงอนไข ($x <= 10) มคาเปนเทจ

สมมตวา ถาเปลยนจาก $x++ เปน $x-- ปญหากจะเกดตามมาเวลาใชงาน คอ แทนทจะวนลปแคสบครง กกลบกลายเปนวา เปนการวนลปนบครงไมถวน เพราะวา คาของ $x จะลดลงเรอยๆในการวนลปแตละครง คอเปนลบ และคาเปนลบจะนอยกวา 10 เสมอ (ยกเวนแตวา เมอถงจดเวลาหนงคาเปนลบมากๆ จะกระโดดกลบเปนบวก)

ตวอยางการใช do-while loop เพอค านวณคาเลขยกก าลงสอง ซงมเลขฐานตงแต 1 ถง 10 <? $x = 1; do { echo $x*$x,"<BR>\n"; $x++; } while ($x < 10);

?>

โปรดสงเกตความแตกตางระหวางการใช while-do และ do-while โดยเฉพาะตรงเงอนไข ในการจบการวนลป ในกรณของ do-while เราจะกระท าขนตอนในลปกอนหนงครง แลวคอยตรวจดวา เงอนไขในการวนลปเปนจรงหรอไม ความแตกตางน เราสามารถจ าไดงายๆ คอวา ถาใช do-while จะตองมการท าค าสง ภายใน

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ลปหนงครงเสมอ แมวาเงอนไขโดยเรมตนจะเปนเทจกตาม ซงแตกตางจาก while-do ถาเงอนไขเปนเทจตงแตเรม กจะไมมการท าค าสงทอยในลป

อกแบบหนงส าหรบการวนลปคอใช for-loop ท าไดตามตวอยางตอไปน <? for ($x = 1; $x <=10; $x++) { echo $x*$x,"<BR>\n"; }

?>

ในบรรทดทเรมตนดวย for ระหวางวงเลบเปดและปด จะถกแบงเปนสามสวนโดยเครองหมาย semicolon (;) ในสวนแรกเราสามารถใสค าสงทตองการจะกระท ากอนเขาลป สวนแรกนจะมหรอไมมกได ในสวนทสองจะเปนเงอนไขส าหรบการท า loop และในสวนทสามจะค าสงทจะตองท าเปนการจบทายลปในแตละครง หลกการท างานของ for-loop จะคลายกบ while-do-loop

การใชงาน for-loop และวางต าแหนงสวนตางๆ อาจจะไมจ าเปนตองท าเหมอนกนแตใหผลเหมอนกน เชน <? $x=1; for ( ; $x <=10; $x++) { echo $x*$x,"<BR>\n"; }

$x=1; for ( ; $x <=10; ) { echo $x*$x,"<BR>\n"; $x++; }

?>

จากตวอยางขางบนทผานๆมา เปนการวนลปจะใชการนบเลขเพมขนทละหนง เรายงสามารถเขยนใหมโดยเปนการนบเลขลดลง ยกตวอยางเชน เราตองการจะพมพตวเลขเรยงล าดบจาก 10,9,8...,1 กอาจจะเขยนค าสงไดดงน

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<? for ($x=10 ; $x >0; $x--) { echo $x,"<BR>\n"; }

?>

การใชงาน for-loop กจะเหมอนกบเวลาใชในภาษาซ ในหลายๆเรอง เชน เราสามารถใสค าสงได มากกวาหนงโดยใชเครองหมาย (,) เปนตวแยก ตวอยางเชน <? for ($x=1, $y=0 ; $x < 10; $x++, $y--) { echo "$x $y<BR>\n"; }

?>

การสรางและใชงานคลาส (class) และออปเจค (object)

ภาษาแบบ scripting language ในปจจบนหลายๆภาษากสนบสนนการเขยนโปรแกรมเชงวตถดวย ตวอยางเชน Perl และ PHP กรวมอยในนนดวย แมวาจะไมซบซอนเหมอนอยางภาษาซพลสพลสหรอจาวากตาม คลาสคอโครงสรางทประกอบดวยสมาชก (class members) หรอคณสมบต (properties) ตามแตจะเรยก และ ฟงกชนสมาชก (member functions) การนยามคลาสขนมาใชงานจะเรมดวย class { ... } โดยขางในจะมสวนของตวแปรสมาชก และฟงกชนสมาชกตามล าดบ ฟงกชนทมชอเดยวกบคลาสจะเรยกวา class constructor ทกครงทมการสรางออปเจคจากคลาสโดยใชค าสง new ฟงกชนทท าหนาทเปน class constructor กจะถกเรยกมาท างานกอนทกครง ประโยชนของการใชงานกเชน ใชก าหนดคาเรมตน หรอเตรยมพรอมกอนทจะเรมใชออปเจค

ลองดตวอยาง การเขยนคลาสส าหรบแบบขอมลเชงนามธรรม (Abstract Data Type) ทเรยกวา stack การท างานของ stack กเปนดงน ถาเราใสขอมลเขาไป ขอมลเหลานนกจะถกเกบไวเสมอนกบวา วางซอนกนจากขางลางขนขางบน ถาเราจะดงขอมลออกมาใชกจะไดขอมลทอยขางบนสด ซงกคอขอมลทเราใสเขาไปครงลาสดนนเอง หนาทของ stack ทส าคญกมเชน

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

push() //ใสขอมลไวใน stack pop() // ดงขอมลออกมา is_empty() // ตรวจดวา stack มขอมลอยอกหรอไม get_size() // หาจ านวนของขอมลทถกเกบไวใน stack ตวอยางการสรางคลาส stack ในภาษา PHP ท าไดดงตวอยางตอไปน <? class stack { var $arrays; var $size;

function stack() { // class constructor $this->size = 0; unset($this->arrays); }

function push($elem) { // put an element on stack $this->arrays[$this->size] = $elem; $this->size++; }

function get_size() { // get number of elements stored return $this->size; }

function is_empty() { // is stack empty ? return ($this->size == 0) ? true : false; }

function pop() { // retrieve an element from the top of stack if ( $this->is_empty() == false ) { $this->size--; return $this->arrays[$this->size]; }

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

else return 0; } }

$inst = new stack; // create an object from stack class echo "initial stack size=".($inst->get_size()),"<BR>\n";

for ($i=0; $i < 10; $i++) { $inst->push( ($i*7)%11 ); } echo "current stack size=".($inst->get_size()),"<BR>\n";

while (! $inst->is_empty() ) { echo "pop ".$inst->pop(),"<BR>\n"; }

echo "stack is ".($inst->is_empty() ? "empty." : "not empty.")."<BR>\n";

$inst = 0; // unuse this instance of class stack ?>

โปรดสงเกตวา ตวแปร $this ทปรากฎอยในคลาสจะเหมอน this ทเราใชในภาษาซพลสพลส และการนยามและสรางฟงกชนสมาชกจะท าภายในคลาสทงหมด (เหมอนในภาษาจาวา)

PHP ยงสนบสนนการสบทอดคณสมบตของคลาส (inheritance) ท าใหเราสามารถสรางคลาสขนมาใหม โดยใชคลาสทมอยเดมและเพอสวนขยายเขาไป การสบสอดคณสมบตจากคลาสหนงไปยงอกคลาสหนง จะใชค าสง extends คลายกบของภาษาจาวา ตามตวอยางดงน <? class stack { var $arrays; var $size;

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

function stack() { echo "DEBUG> stack constructor<BR>\n"; $this->size = 0; unset($this->arrays); }

function push($elem) { $this->arrays[$this->size] = $elem; $this->size++; }

function get_size() { return $this->size; }

function is_empty() { return ($this->size == 0) ? true : false; }

function pop() { if ( $this->is_empty() == false ) { $this->size--; return $this->arrays[$this->size]; } else return 0; } }

// class LimitedStack is derived from class stack.

class LimitedStack extends stack { var $max_size;

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

function LimitedStack ($capacity = 10) { $this->stack(); // call stack's constructor explicitly. echo "DEBUG> LimitedStack constructor<BR>\n"; $this->max_size = $capacity; }

function is_full() { return ($this->max_size <= $this->size) ? true : false; }

function push($elem) { if ($this->is_full() == false) { $this->arrays[$this->size] = $elem; $this->size++; } else { echo "stack is full!\n"; } } }

$inst = new LimitedStack(5); echo "initial stack size=".($inst->get_size()),"<BR>\n"; for ($i=0; $i < 10; $i++) { if (! $inst->is_full() ) { $inst->push( ($i*7)%11 ); } else break; } echo "current stack size=".($inst->get_size()),"<BR>\n"; echo "stack is ".($inst->is_empty() ? "empty." : "not empty.")."<BR>\n"; ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

คลาส LimitedStack นมคณสมบตทไดรบมาจากคลาส stack แตแตกตางตรงทวา เราไดก าหนดความจ ของ LimitedStack เอาไว โดยตวแปร $max_size ผใชจะตองก าหนดขนาดความจของออปเจคจากคลาส LimitedStack กอนใช ถาไมก าหนดกจะใชคา 10 เปนคาความจโดยอตโนมตตามตวอยาง (เปน default parameter)

เมอมการก าหนดความจกจะตองมการเขยนฟงกชนสมาชกเพมขนอก ชอ is_full() เพอตรวจสอบดวา จ านวนของขอมลใน stack เทากบความจทก าหนดไวแลวหรอไม

โปรดสงเกตวา PHP สนบสนนการนยามฟงกชนทบฟงกชนเดมของคลาสทไดรบคณสมบตมา และสงทจะลมไมไดคอ constructor จากคลาสลก (child class) จะไมเรยกใช constructor จากคลาสแม (parent class) จะตองมการเรยกใชอยางเจาะจง ในกรณทเราสรางอารเรยส าหรบเกบออปเจค เวลาจะใชออปเจคแตละตว จะตองใชตวแปรชวยตามตวอยางตอไปน <? // array of objects class MyObj { var $id;

function MyObj( $set_id) { // $id = $set_id; <-- this does't work if you forget to use $this $this->id = $set_id; }

function show() { echo "hello world $this->id<BR>\n"; } }

// can create the array of objects $obj_array = array(); $obj_array[] = new MyObj(1);

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$obj_array[] = new MyObj(2); $obj_array[] = new MyObj(3);

// To access each object we must use help variable like follows: for($i=0; $i < count($obj_array); $i++) { $tmp = $obj_array[$i]; $tmp->show(); }

?> จากตวอยางเราใชตวแปร $tmp ในการเขาถงออปเจคแตละตวในถกเกบไวในอารเรย $obj_array เนองจากเราไมสามารถเรยกใชฟงกชนของออปเจคไดโดยตรงถาออปเจคอยในอารเรย เชน $obj_array[0]->show();

การตรวจด webbrowser ของผมาเยอนวาเปนตวไหน

อกตวอยางหนงทแสดงใหเหนการใชตวแปรแบบ global ซงเปนตวแปรทตวแปลชดค าสง PHP ไดสรางขน ทกครงทท างาน หนงในตวแปรนนคอ $HTTP_USER_AGENT <? function getBrowserName() { global $HTTP_USER_AGENT; $browser=strtoupper($HTTP_USER_AGENT); if (strstr($browser,"MSIE")) return "MS Internet Explorer"; else if (strstr($browser,"MOZILLA")) return "Netscape"; else return ""; } $name = getBrowserName(); if ($name != "") { echo "Your browser is ".$name.".<BR>"; }

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

?>

จากตวอยาง เราสามารถใชตวแปรดงกลาวในการตรวจดวา ผใชไดใช web browser ตวไหน เชน ระหวาง IE (Microsoft Explorer) หรอ Mozilla (Netscape)

การสงคาและการเกบคา

การอานตวแปรจากภายนอกทไดจากการ Web browser โดยวธ GET หรอ POST

สมมตวา เรามฟอรมส าหรบใหผใชปอนชอ (login) และรหสผาน (password) จากนนกสงมายง Webserver และใชสครปต PHP เปนตวจดการกบขอมลทสงมาโดยวธการแบบ POST ตามตวอยาง Sample1.php - แบบ Post <form action="Sample2.php" method="post"> <table> <tr><td>login:</td> <td><input type="text" name="login"></td> </tr><br> <tr><td>password:</td> <td><input type="text" name="password"></td> </tr><br> </table> <p><input type="submit"> </form> Sample1.php - แบบ Get <form action="Sample2.php" method="get"> <table> <tr><td>login:</td> <td><input type="text" name="login"></td> </tr><br> <tr><td>password:</td> <td><input type="text" name="password"></td>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

</tr><br> </table> <p><input type="submit"> </form>

ภายในสครปต Sample2.php เราสามารถอานขอมลทสงมาได ในกรณน ทเราสนใจคอ คาจาก login และ password ทอยในฟอรม และสามารถจะอานขอมลเหลานนได เพราะ PHP จะเกบขอมลไวในตวแปรชอ $login และ $password ตามล าดบ ตวอยางเชน Sample2.php อาจจะเปนสครปตงายๆดงน

ตวอยางไฟล Sample2.php <HTML> <HEAD><TITLE> Result </TITLE></HEAD> <BODY> <P> Your login = <? echo "$login" ?> <BR> Your password = <? echo "$password"; ?> </BODY> </HTML> เราสามารถอานขอมลทไดจากการสงแบบ GET ไดเชนกน ตวอยางเชน <a href="print.php?ID=103543564&mode=plaintext"> click </a> เมอผใชคลกท link กจะตดตอกบสครปตทชอวา print.php โดยผานขอมลสองตวคอ ID และ mode ภายในสครปต เรากใช $ID และ $mode ส าหรบอานคาของขอมลทสงมา ในตวอยางน $ID จะไดคาเปน "103543564" และ $mode ไดคา "plaintext"

การสงขอมลดวย Html Form

ค าสงทใชอานคาจาก คา ของ Form เราสามารถเรยกใชจากตวแปรทเราตงขนมาไดเลย

รปแบบ

$var-name

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

หากตองการพมพขอความออกมา

echo"$var-name";

- HTML Form

เปนการก าหนดกรอบ ทขอมลทจะมการสง รปแบบ <form=" [action=url]" name="ชอฟอรม" method="[post/get]"> code . </form> - Submit

ชวยสงคาจากสวนประกอบตางๆ ใน Form ไปยง Web Server เพอท าการประมวลผล

รปแบบ

<input type="submit" value="[comment]">

- Reset

จะท าหนาท Clear สวนขอมลทไดท าการใสเขาไปใน Textbox โดยจะท าการ Clear ขอความใดๆ ทไดท าการใสเขาไปใน Tab <Form> </form>

รปแบบ

<input type="reset" value="Reset">

หากยงไมเขาใจลองมา ดตวอยางซกตวอยางครบ sample1.php

<html> <head> <form name="form1" method="post" action="sample2.php">

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ชอ <input type="text" name="name"> <br> นามสกล <input type="text" name="surname"> <br> <br> <input type="submit" value="Submit"> <input type="reset"value="Reset"> </form> </body> </html> Out Put

sample2.php

<html> <body> ชอ <? echo"$name" ?> <br> นามสกล <?echo "$surname" ?> </body> </html>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put

การสงขอมลโดยผาน Querystring

Querystring คออะไร ?

Querystring คอขอมลท Browser สงตอทาย URL ของ Page ทตองการใชไปยง Web Server โดยขอมลจะประกอบไปดวยชอของขอมลและคาของขอมล

รปแบบ http://127.0.0.1/file-name.php?var-name=value

หากตองการสงคามากกวาหนงคา ใหใชเครองหมาย & ขนระหวางตวแปร

รปแบบ http://127.0.0.1/file-name.php?var-name1=value&var-name2=value

การอานขอมลจาก Querystring

สามารถอานไดจากคา var-name ทเราตงขนมาไดเลย

เชน $var-name echo"$var-name";

การสรางขอมลใหอยในรป Querystring สามารถ สรางได 3 รปแบบคอ

1. สรางจาก Tag <a>... </a> ก าหนดในสวนคณสมบตของ HREF ของ TAG <a> </a> ตวอยาง

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

sample1.php <html> <body> <a href="sample2.php?name=werachai numkitram&old=21">Test Querystring </a> </body> </html>

Out Put

sample 2.php

<html> <body> ชอ <? echo"$name" ?> <br> อาย<?echo "$old" ?> </body> </html>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put

2. การสราง Querystring ดวย HTML Form

เหมอนกนการออกแบบ Form ธรรมดาครบ แตแตกตางตรงท method="get" ตวอยาง

sample1.php

<html> <body> <form name="form1" method="get" action="sample2.php"> ชอ <input type="text" name="name"> <br> อาย <input type="text" name="old"> <br> <br> <input type="submit" value="Submit"> <input type="reset" value="Reset"> </form> </body> </html>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put

sample2.php

<html> <body> ชอ <? echo"$name" ?> <br> อาย<?echo "$old" ?> </body> </html>

Out Putรก าหนดตรงชอง Address Bar

หากตองการ น าคา Querystring จากคาของตวแปรกสามารถท าไดงาย ๆ ครบ sample1.php

<html> <body> <? $name="วระชย นกจรมย";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$old=21; ?> <a href="sample2.php?name=<?echo"$name"; ?>&old=<? echo"$old"; ?>">Test Querystring </a> </body> </html>

sample2.php

<html> <body> ชอ <? echo"$name" ?> <br> อาย<?echo "$old" ?> </body> </html>

การใช Objects ของ Form เพอสงคาตาง ๆ

1 .Form 2. Button submit 3. Button reset 4. Text Filed 5. Textarea Filed 6. Check Box 7. Radio Button 8. List Menu 9 .Hidden Filed

1.Form ก าหนดกรอบของ Form ทจะมการสงขอมล การแทรก Element ของ Form อน ๆ ทตองการสงขอมลตองก าหนดในชวงกรอบน

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

รปแบบ

<form name="[form-name]" method="[post/get]" action="[fike-name]">

Code </form> ตวอยาง <form name="form1" method="post" action="sample.php"> <input type="text" name="name"> <input type="text" name="email"> </form>

2.Button submit Submit ก าหนดสงคาจากสวนประกอบตางๆ ใน Form (Element) ไปยง Web Server เพอท าการประมวลผล เราจะใชงานรวมกบ Form รปแบบ

<input type="submit" value="[comment]">

ตวอยาง

<form name="form1" method="post" action="sample.php"> <input type="text" name="name"> <input type="text" name="email"> <input type="submit" value="submit"> </form>

การสรางปม Submit แบบรปภาพ

<input type="image" name="submit" value="submit" src="image-name">

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

3.Button reset Reset

ก าหนด Clear สวนขอมลทไดท าการใสเขาไปใน Textbox โดยจะท าการ Clear ขอความใดๆ

รปแบบ

<input type="reset" value="[comment]">

ตวอยาง <form name="form1" method="post" action="sample.php"> <input type="text" name="name"> <input type="text" name="email"> <br> <input type="submit" value="Submit"> <input type="reset" value="Reset"> </form>

เพมเตมครบการสรางปม Reset แบบรปภาพ

<input type="image" name="reset" value="reset" src="image-name">

4.Text Filed ก าหนดชองรบขอมลจะท างานรวมกบ Form โดยจะตองแทรกใวในกรอบของ Form

การอานคาจาก Element ของ Text Filed <? $var-name echo"$var-name"; ? >

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

รปแบบ

<input type="text" name="var-name"> เชน

<form name="form1" method="post" action="sample.php"> <input type="text" name="name"> <input type="text" name="email"> <br> <input type="submit" value="Submit"> <input type="reset" value="Reset"> </form>

ตวอยาง

sample1.php

<html> <head> <form name="form1" method="post" action="sample2.php"> ชอ <input type="text" name="name"> <br> นามสกล <input type="text" name="surname"> <br> <br> <input type="submit" value="Submit"> <input type="reset"value="Reset"> </form>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

</body> </html>

Out Put

sample2.php

<html> <body> ชอ <? echo"$name" ?> <br> นามสกล <? echo "$surname" ?> </body> </html>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

5. Textarea Filed เปนเหมอนกบ Text Filed แตจะมชองกรอกขอมลทใหญขน การแทรกจะแทรกใวในกรอบของ Form เหมอนกบ Text Filed การอานคาจาก Element ของ Text Filed <? $var-name echo"$var-name"; ? >

รปแบบ

<textarea name="var-name" cols="50" rows="3"></textarea>

เมอ Cols=จ านวน ความกวางของชองกรอกขอมล Roes = จ านวนความสงของชองกรอกขอมล

ตวอยาง

sample1.php

<html> <body> <form name="form1" method="post" action="sample2.php"> กรอกขอมล<br> <textarea name="comment" cols="50" rows="3"></textarea> <br> <input type="submit" value="Submit"> <input type="reset" value="Reset"> </form> </body> </html>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put

sample2.php

<html> <body> ขอความคอ : <? echo"$comment"; ?> </body> </html>

Out Put

6. Check Box ใชก าหนดวามการเลอกหรอไม

รปแบบ ก าหนดได 2 วธคอ

1.ใหคาวางเปลาโดยยงไมมการเลอก

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<input type="checkbox" name="var-name" value="[value]">

2.ใหคามการเลอกใวแลว

<input type="checkbox" name="var-name" value="[value]" checked>

ท าความเขาใจกอนครบ การตรวจสอบวามการเลอกหรอไม สามารถท าไดงาย ๆ ครบ คอ ก าหนดคา on ใหกบ checkbox

การอานคาจาก Check Box $var-name

หากมการคลกเลอก จะมคาเปน on และแสดงคา value ออกมา หากไมมการคลอกเลอก จะมคาเปน off และไมแสดงคา value

หากไมเขาใจลองมาดซกตวอยางหนงครบ

sample1.php

<html> <body> <form name="form1" method="post" action="sample2.php"> <input type="checkbox" name="check" value="on"> <br> <input type="submit" name="Submit" value="Submit"> </form> </body> </html>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put

sample2.php

<html> <body> <? if ($check=="no") { echo "คณไดท าการเลอก"; } ?> </body> </html>

Out Put

หากคณไมไดท าการคลกเลอก

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put จะไดเปนคาวางเปลา

7. Radio Button ใชก าหนด ใหมการเลอกอยางใดอยางหนง การอานคาจาก Element ของ Radio button <% $var-name echo"$var-name"; %>

รปแบบ ก าหนดได 2 แบบ

1.ใหคาวางเปลายงไมมการเลอก

<input type="radio" name="var-name" value="[value]">

2.ใหเลอกใวแลว

<input type="radio" name="var-name" value="[value]" checked>

ตวอยาง

sample1.php

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<html> <body> <form name="form1" method="post" action="sample2.php"> <p>เลอกอาย</p> <p> <input type="radio" name="old" value="1-5"> 1-5<br> <input type="radio" name="old" value="6-20"> 6-10<br> <input type="radio" name="old" value="11-15"> 11-15 <br> <input type="radio" name="old" value="16-20"> 16-20 <br> <input type="radio" name="old" value="21 ขนไป"> 21 ขนไป<br> <br> <input type="submit" name="Submit" value="Submit"> </p> </form> </body> </html>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

sample2.php

<html> <body> <? echo "$old"; ?> </body> </html>

Out Put

ตวอยางการใช Radio button ดวย Swich Case

sample1.php

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<html> <body> <form name="form1" method="post" action="sample2.php"> <p>เลอกอาย</p> <p> <input type="radio" name="old" value="1"> 1-5<br> <input type="radio" name="old" value="2"> 6-10<br> <input type="radio" name="old" value="3"> 11-15 <br> <input type="radio" name="old" value="4"> 16-20 <br> <input type="radio" name="old" value="5"> 21 ขนไป<br> <br> <input type="submit" name="Submit" value="Submit"> </p> </form> </body> </html>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

sample2.php

<html> <body> <? Switch ($old) { case 1 : echo "1-5"; break; case 2 : echo "6-10"; break; case 3 : echo "11-15"; break; case 4 : echo "16-20"; break; case 5 : echo "21 ขนไป"; break; } ?> </body> </html>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put

8.List Menu List Menu ใชก าหนดใหมการเลอกอยางใดอยางหนง เหมอนกบ Radio Button ทจะดเรยบงาย และประหยดเนอทมากกวา Radio Button

การอานคาจาก Element ของ List Menu <? $var-name echo "$var-name"; ? >

รปแบบ

<select name="var-name"> <option value="value1">ขอความ1</option> <option value="value2">ขอความ2</option> <option value="value3">ขอความ3</option> . . <option value="valueสดทาย">ขอความสดทาย</option> </select>

ตวอยาง

sample1.php

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<html> <body> <form name="form1" method="post" action="sample2.php"> <select name="old"> <option value="1-5">1-5</option> <option value="6-10">6-10</option> <option value="11-15">11-15</option> <option value="16-20">16-20</option> <option value="21 ขนไป">21 ขนไป</option> </select> <br> <br> <input type="submit" name="Submit" value="Submit"> </form> </body> </html>

Out Put

sample2.php

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<html> <body> <? echo"$old"; ? > </body> </html>

Out Put

ตวอยางการใช List Menu ดวย Swich Case

sample1.php

<html> <body> <form name="form1" method="post" action="sample2.php"> <select name="old"> <option value="1">1-5</option> <option value="2">6-10</option> <option value="3">11-15</option> <option value="4">16-20</option> <option value="5">21 ขนไป</option> </select> <br> <br> <input type="submit" name="Submit" value="Submit"> </form>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

</body> </html>

Out Put

sample2.php

<html> <body> <? Switch ($old) { case 1 : echo "1-5"; break; case 2 : echo "6-10"; break; case 3 : echo "11-15"; break; case 4 : echo "16-20"; break; case 5 : echo "21 ขนไป"; break; } ?> </body> </html>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put

9.Hidden Filed เปนการน าคาก าหนดโดยการซอนคาและตวแปร

การอานคาจาก Element ของ Hidden Filed <? $var-name echo "$var-name"; ? >

รปแบบ

<input type="hidden" name="var-name" value="[value]">

ตวอยาง

sample1.php

<html> <body> <form name="form1" method="post" action="sample2.php"> <input type="hidden" name="name" value="นายวระชย นกจรมย"> <br> <br> <input type="submit" name="Submit" value="Submit">

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

</form> </body> </html>

Out Put

sample2.php

<html> <body> <? echo"$name"; ? > </body> </html>

Out Put

เพมเตมครบ

การน าคา Hidden Filed จากคาตวแปร กสามารถท าไดแบบงาย ๆ ครบ

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<? $name="นายวระชย นกจรมย" ? > <input type="hidden" name="name" value="<?echo"$name";?>">

สวน Object อน ๆ กเหมอนกนครบ สามารถก าหนดคาไดท value ครบ

การเกบคาและสงคาโดยใช Session Object

session ? คออะไร จะตอบแบบงายๆ กคอ การเกบคา จาก Web Server ลงในหนวยความจ าของเครอง Client แตละราย server จะก าหนดเวลาและตดตามการใชงานของเครอง Client

Session ID คออะไร Session ID คอ หมายเลขประจ าตว ท Web Server สงมายง Client คา Session จะไมมทางซ ากน Session ID มประโยชนใรการอางองเกยวกบการใชงานของ Client

รปแบบการอานคา Session ID Session_ID();

รปแบบการใชงาน Session อน ๆ

Session_Type("Session-name")

เมอ Type คอ ชนดของ Session เชน name,register,unset,unregister สามารถศกษาเพมตมไดจาก PHP manual ( Download ไดท http://www.php.net )

การสราง session Session_Start() $session-name=value; Session_register("session-name");

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

การอานคาจาก Session Session_Start(); $session-name; echo"$session-name"; การตรวจสอบตวแปร Session Session_Start(); $session-name; if(Session_is_registered("$session-name")) { echo"ตวแปรนมคาอย"; } else { echo"ตวแปรนไมมคาอย"; } การลบคาใน Session

- การลบ Session เฉพาะตวแปร Session_unregister("session-name ");

- การลบ Session ทงหมด Session_destroy();

หากยงไมเขาใจลองมาดตวอยางกนหนอยครบ

sample1.php เปนการก าหนดคาใหกบ Session

<? Session_Start(); $name="นายวระชย นกจรมย"; $old=21; Session_register("name"); Session_register("old")

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

?> ไดก าหนดคาให Session แลว<br> ตรวจสอบคา Session <a href="Sample2.php">Sample2.php</a>

Out Put

sample2.php เปนการแสดงคาใน Session

<? session_start(); echo "คาใน Session Name คอ $name <br>"; echo "คาใน Session Old คอ $old <br>"; ?> <br> <br> ตรวจสอบคา Session <a href="Sample3.php">Sample3.php</a>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

sample3.php เปนการแสดงคาใน Session อกครง

<? session_start(); echo "คาใน Session Name จะยงเปน $name <br>"; echo "คาใน Session Old จะยงเปน $old <br>"; ?> <br> ตงคา Session <a href="Sample1.php">Sample1.php</a>

Out Put

** หากตองการลบ Session ท าไดโดย Session_unregister("name"); และ Session_unregister("old"); หรอจะใช Session_destroy(); เพอลบคา Session ทงหมด

คงจะเขาใจกนแลวใชไหมครบ หวขอนจะเปนเพยงแคการก าหนดคาใหกบ Session เทานน ในตอนตอไปเราจะมาประยกตใชงานครบ

การเกบคาและสงคาโดยใช Cookie Object

Cookie คออะไร ? เปนการเกบคาจาก Server มาเกบใวทเครอง Client โดยเกบใวในรปไฟล พดงาย ๆ กคอ การเขยนลงไฟลนนเอง ซงจะถกเกบใวท Windows\Cookies

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ท าความเขาใจกอนครบ

การ Set Cookie จะตอง Set ใวในสวนบนสดครบ ( header )

การสราง Cookie รปแบบ

setcookie(cookie-name,value,[Time]);

หรอจะก าหนดจากตวคาตวแปร $va-name-value = value"; setcookie(var-name, $var-name-value,[Time] ); เมอ Cookie-name ชอ ของ Cookie value,$var-name-value คอ คาของ Cookie Time ก าหนดเวลาหมดอายของ Cookie

ตวอยาง 1

Setcookie("name","วระชย นกจรมย",time()+3600); // ก าหนดเวลา 1 ชวโมง

ตวอยาง 2

$name="นายวระชย นกจรมย"; Setcookie("name",$name,time()+60); // ก าหนดเวลา 1 นาท

การอานคาจาก Cookie

$cookie-name echo"$cookie-name"; การก าหนดวนหมดอายของ Cookie

รปแบบ Time() , Date()

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ตวอยาง

Setcookie("name",$name,time()+60); // ก าหนดเวลา 1 นาท

การลบ Cookie

รปแบบ

SetCookie("Cookie-name") เชน SetCookie("name") // เปนการลบ Cookie name ออก หากยงไมเขาใจลองมาดตวอยางกนหนอยครบ

sample1.php เปนการก าหนดและตงคา Cookie

<? $name="วระชย นกจรมย"; $old=21; Setcookie("name",$name,time()+60); Setcookie("old",$old,time()+60); ?> ไดก าหนดคาให Cookie แลว<br> ตรวจสอบคา Cookie <a href="Sample2.php">Sample2.php</a>

Out put

sample2.php เปนการแสดงคาใน Cookie

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<? echo "คาใน Cookie name คอ $name <br>"; echo "คาใน Cookie old คอ $old <br>"; ?> <br> <br> ตรวจสอบคา Cookie อกครง <a href="Sample3.php">Sample3.php</a>

Out put

sample3.php เปนการแสดงคาใน Cookie อกครง

<? echo "คาใน Cookie Name จะยงเปน $name <br>"; echo "คาใน Cookie Old จะยงเปน $old <br>"; ?> <br> ตงคา Cookie <a href="Sample1.php">Sample1.php</a>

Out put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

เพมเตมครบ การใช ob_start(); เพอใหสามารถก าหนด Setcookie ใวสวนใดกได

ปกตการ SetCookie เราตองก าหนดใวสวนบนสด หรอ headder แตถาเราใส ob_start(); จะสามารถก าหนดใวสวนอน ๆ ได เชน การใชค าสง echo ใวกอน SetCookie ซงถาไมใส ob_start(); จะไมสามารถใชค าสง echo ได ดงตวอยางตอไปนครบ

Sample1.php

<? ob_start(); echo "ปกตจะไมสามารถ แทรกสวนตรงนได <br>"; setcookie("name", "นายวระชย นกจรมย", time() + 60); echo "แตตอนนไดก าหนดคาให Cookie name แลว "; ob_end_flush(); ?>

Out Put

ตวแปร Global function

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

การใชตวแปรแบบ global ภายในฟงกชน

บางครงเราไมตองการทจะผานตวแปรเปนอารกวเมนตของฟงกชน เพอน าไปใชภายในฟงกชนเหลานน กจะท าไดโดยการแจงใชตวแปรทมชอเหมอนตวแปรภายนอกทเราตองการใช ใหเปน global หรอใชผานตวแปรทเปนอารเรยของ PHP ทมชอวา $GLOBALS ดงตวอยางตอไปน <? $a = 10; $b = 20; function getMin ( ) { global $a, $b;

if ($a < $b) return $a; else return $b; }

function getMin2 () { if ($GLOBALS["a"] < $GLOBAL["b"]) return $GLOBALS["a"]; else return $GLOBALS["b"]; }

echo getMin()."<BR>\n"; echo getMin2()."<BR>\n"; ?>

ในกรณนเราตองการจะใชตวแปร $a และ $b ซงอยนอกฟงกชน getMin() เพอเชคดวา คาของตวแปรใดมคานอยกวากน ถาเราไมแจงใช global $a, $b; ตามตวอยางแลว $a และ $b จะกลายเปนตวแปรภายในแมวาจะชอเหมอนกนตวแปรภายนอกทมอยแลวกตาม ท าใหไดผลการท างานไมถกตองตามทตองการ

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ฟงกชน getMin() อกรปแบบหนง โดยไมใชตวแปรแบบ global ภายในฟงกชน และใชวธผานคาแทน <? $a = 10; $b = 20; function getMin ($a, $b) { if ($a < $b) return $a; else return $b; }

echo getMin($a, $b)."<BR>\n"; ?>

การตวแปรแบบ static ภายในฟงกชน สมมตวา เราตองการจะใชตวแปรภายในฟงกชน และสามารถเกบคาไวไดตลอดเวลา โดยไมสญหายไปทกครงทมการเรยกใชฟงกชน ในกรณนเราจะแจงใชตวแปรใหเปนแบบ static ตามตวอยางตอไปน function MyFunc() { static $num_func_calls = 0; echo "my function\n"; return ++$num_func_calls; }

ทกครงทมการเรยกใชฟงกชนดงกลาว ตวแปรชอ $num_func_calls ซงมคาเรมตนเปนศนยในตอนแรก จะเพมคาทเกบขนทละหนง

การผานคากลบคนมากกวาหนงจากฟงกชน โดยปรกตแลวเราไมสามารถผานคากลบคนจากฟงกชนไดมากกวาหนง แตอยางไรกตาม ยงมวธการหนงทชวยแกปญหาดงกลาวได วธนคอ เกบคาตางๆทตองการจะใชเปนคากลบคนไวใน array แลวใช array นนเปนคากลบคน และผเรยกใชฟงกชนสามารถใชฟงกชน list() อานคาเหลานนได ตวอยางเชน <? function foobar() { return array ("foo", "bar", 0xff);

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

} list ($foo, $bar, $num) = foobar(); echo "$foo $bar $num <BR>\n"; ?> จากตวอยาง ฟงกชน foobar() จะใหคากลบคนเปน array ประกอบดวยสามสมาชก คาทไดจากฟงกชนนกจะสงไปยงฟงกชน list() เพอใหเกบแยกลงในตวแปรตามชอทก าหนดคอ $foo, $bar และ $num ตามล าดบ

ฟงกชนและการใชงาน

การสรางและใชงานฟงกชน

ในหวนเราจะไดเรยนรการใชงานฟงกชน ฟงกชนประกอบดวย 2 ประเภทคอ

1.ฟงกชนท php ใหมา สามารถเรยกใชงานไดทนท ซงเราจะเรยนรในหวขอตอไป 2.ฟงกชนทเราสรางขนมาเอง การใชงานฟงกชน - ฟงกชนทไมมการสงคา function_name()

- ฟงกชนทมการสงคา function_name(argument....) การสรางฟงกชนขนมาเอง

- ฟงกชนทไมมการสงคา

Sample1.php

<html> <body> <? echo"จะแทรกใวสวนบนของ Function กได"; Test_function();

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

function Test_function() { echo"Hello Word <br>"; echo"Hello Werachai nukitram <br>"; echo"Hello PHP Programming<br>"; echo"Hello The Member Theasp <br>"; }

echo"<br><br>หรอจะแทรกใวสวนลางของ Function กได"; Test_function(); ?> </body> </html>

Out Put

จะแทรกใวสวนบนของ Function กไดHello Word Hello Werachai nukitram Hello PHP Programming Hello The Member Theasp หรอจะแทรกใวสวนลางของ Function กไดHello Word Hello Werachai nukitram Hello PHP Programming Hello The Member Theasp

- ฟงกชนทมการสงคา

Sample2.php

<html> <body> <? function Test_function($a)

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

{ return($a * 20 ); } $b=20; echo Test_function($b); ?> </body> </html>

Out Put

400

ฟงกชน Include,Require,Redirect

การใชงาน Function Include , Redirect และ require

- Include เปนการเรยกใชงานไฟลอน เพอท างานรวมกบ ไฟลทก าลงท างานอย รปแบบ

Include("files-name")

Smaple1.php

<? ob_start(); ?> <html> <body> <? Include("sample2.php"); // เปนการเรยกใชงาน sample2.php ?> </body> </html>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

- Redirect เปนการยายการท างานจาก ไฟลหนง ไปยงอกไฟลหนง นยมน ามาใชในระะรกษาความปลอดภย และ การกระโดดไปยงไฟลตาง ๆ โดยเรยกใชฟงกชน headder

รปแบบ header("location : [files-name/URL]");

Sample2.php <? ob_start(); ?> <html> <body> <? header("location : Sample3.php"); // กระโดดไปยง Sample3.php หรอจะใช URL header("Location : http://www.xxx.xx"); ?> </body> </html>

- Require เปนการเรยกใชงานไฟลอน เหมอนกบ Include แตไมสามารถเรยกใชงานไฟลทท างานเปนแบบ Loop ไดเหมอน Include นยมน ามาใชเกยวกบ การประกาศท ทสามารถเรยกใชงานไดทก ๆ ไฟล เชน การตดตอฐานขอมล ซงเราจะไดเรยนรในหวขอตอไปครบ

รปแบบ

require("files-name");

Sample3.php

<? ob_start(); ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<html> <body> <? require("Sample4.php"); ?> </body> </html>

ฟงกชน ทางคณตศาสตร

ฟงกชนเหลานจะมประโยชนในทางคณตศาสตร ซงบางครงกจ าเปนตองใชครบ รใวกวาใสบาแบกหามครบ

ฟงกชน จดมงหมาย ความหมาย

max() ตองการหาคาสงสด min() ตองการหาคาต าสด

number_format() ก าหนดรปแบบการแสดงผลตวเลขหลกพนโดยมเครองหมาย (,) ขน

OctDec() แปลงเลขฐานแปดเปนฐานสบ pi() หาคาคงทของ pi pow() หาคาของเลขยกก าลง rad2deg() แปลงคาเรเดยนเปนองศา rand() สรางตวเลขแบบสม Decbin() แปลงเลขฐานสบเปนฐานสอง DecHex() แปลงเลขฐานสบเปนฐานสบหก DecOct() แปลงเลขฐานสบเปนฐานแปด deg2rad() มมองศาเปนเรเดยน Exp() หาคายกก าลงของ e getrandmax() คาสงสดทไดจากการสมตวเลข HexDec() แปลงเลขฐานสบหกเปนฐานสบ Log() หาคา log ฐานธรรมชาต Log10() หาคา log ฐาน 10

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Cos() หาคาของ Cosine BinDec() แปลงเลขฐานสองเปนฐานสบ Atan() หาคา tan Asin() หาคา sine Acos() หาคา arc cosine Abs() เมองตองการหาคาสมบรณของจ านวนจรง

รปแบบการใชงาน

Function(คาทตองการหา)

เชน max(2,5,9,1,5,3,4) Log(5) Asin(0.5) deg2rad(60) DecBin(256) Sample1.php

<? echo "<br>ทดสอบหาคา max(2,5,9,1,5,3,4) = ".max(2,5,9,1,5,3,4); echo "<br>ทดสอบหาคา log(5) = ".log(5); echo "<br>ทดสอบหาคา Asin(0.5) =".Asin(0.5); echo "<br>ทดสอบหาคา deg2rad(60) = ".deg2rad(60); echo "<br>ทดสอบหาคา DecBin(256) = ".DecBin(256); ?>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Sample2.php แปลงคาตวเลขใหเปนจ านวนเตม

<? $num = 32550.256; settype($num,"integer"); echo "แปลงคาจ านวนเเตมจาก 32550.256 = $num<br>\n"; ?>

Out Put

Sample3.php การแสดงตวอกษรทละตวอกษร

<? $text = "Werachai Nukitram"; echo $text{0}, "<br>"; echo $text{1}, "<br>"; echo $text{2}, "<br>"; echo $text{3}, "<br>";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo $text{4}, "<br>"; echo $text{5}, "<br>"; echo $text{6}, "<br>"; echo $text{7}, "<br>"; echo $text{8}, "<br>"; echo $text{9}, "<br>"; echo $text{10}, "<br>"; echo $text{11}, "<br>"; ?>

Out Put

Sample4.php ตรวจสอบคาในตวแปร วาเปน Integer String double

<? $var1 = 125.22; echo gettype($var1) . "<br>"; $var2 = 500; echo gettype($var2) . "<br>"; $var3 = "ทดสอบ";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo gettype($var3) . "<br>"; ?>

Out Put

Sample5.php ตวอยางเชน การหาคาสมบรณของตวเลข <? function myabs ($x) { if ($x < 0) return -$x; } echo myabs(-6),"<BR>\n"; echo myabs(-4+2.034),"<BR>\n"; ?>

Out Put

6 1.966 ตวอยาง การหาคามากกวาและนอยกวาจากตวเลขสองตวและสลบทกน สมมตวาเรามตวแปรอยสองตว และเราตองการจะตรวจดวา ตวแปรตวแรกมคานอยกวาตวแปรอกตวหรอไม ถาไม กใหสลบทกน ปญหานเราสามารถแกไขไดโดยเขยนฟงกชนดงน

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Sample6.php <? function minmax (&$a,&$b) { if ($a > $b) { $t=$a; $a=$b; $b=$t; } }

$x=10; $y=3; echo "x=",$x,",y=",$y,"<BR>\n"; minmax($x,$y); echo "x=",$x,",y=",$y,"<BR>\n";

?>

Out Put

x=10,y=3 x=3,y=10 ฟงกชน minmax() เปนตวอยางของฟงกชนทใชหลกการของ call-by-reference โปรดสงเกตทเครองหมาย & ทวางอยหนาตวแปรทเปนอารกวเมนตของฟงกชน การเรยกใชฟงกชนแบบ call-by-reference ชวยใหเราสามารถผานตวแปรไปยงฟงกชน และใหฟงกชนสามารถเปลยนแปลงแกไขคาของตวแปรนนได

ฟงกชน ทางดาน Directory

ฟงกชนเหลานจะมประโยชนในทางจดการทางดาน directory เมอตองการจดการ ก าหนดรปแบบผาน Web Brownser

ฟงกชน จดมงหมาย ความหมาย

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Mkdir() สราง Directory Rmdir() ลบ Directory chdir เมอตองการเปลยน directory Dir() ใชสราง object เกยวกน directory Closedir() ปด directory opendir() เปด directory Readdir() อานขอมลทอยใน Directory

Rewinddir() เลอนตวชเพอท าการเลอก ไฟลหรอขอมลแรกของ Directory

Sample1.php เปนการสราง Folder

<? $path="C:\Appserv\www\"; $folder="Test"; $dir=$path.$folder; $mode="w"; $create_folder=Mkdir($dir,$mode) or die ("ไมสามารถสราง Folder $folder ได"); ?>

// เพมเตม เราสามารถก าหนด $mode ของไฟลตาง ๆ ได โดย r เปดดอานอยางเดยว r+ เปดเพออานและเขยน w , w+ เปดเพอเขยน ถาไมมไฟลจะสรางขนไหม ถามอยแลว จะปรบไฟลนนใหเปน 0 Byte a เปดเพอเขยนอยางเดยว

ส าหรบการลบ Folder กเหมอนกนครบ แคเปลยนตรง Mkdir เปน Rmdir

Sample2.php เปนการแสดงชอไฟล และ Folder

<? $direc = dir("C:\Appserv\www\");

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo "แสดง Path : ".$direc ->path."<br>"; echo "รายการตางใน Path ".$direc->path." มดงน <Br>"; while($show_dir=$direc -> read()) { echo $show_dir."<br>"; } $direc -> Close(); ?>

// เพมเตมครบ property และ method ของ dir() Handle เกบคาของ Directory Path เกบรายชอของไฟลและ Directory Read อานชอไฟล และ Directory Rewind เปลยนจดชไปยง ไฟลหรอ Folder แรก Close ปดการตดตอกบ Directory

ฟงกชน ทางดานไฟล

ฟงกชน จดมงหมาย ความหมาย รปแบบ

is_dir() ตรวจสอบชอไฟลนนเปน ไดเรกรอรหรอไม is_dir(files-name) is_executable() ตรวจสอบวาไฟลนน เอกซควสไดหรอไม is_executable(files_name) is_file() ตรวจสอบวาไฟลนนเปนไฟลธรรมดาหรอไม is_file(files-name) is_readable() ตรวจสอบวาไฟลนนอานไดหรอไม is_readable(files-name) is_writeable() ตรวจสอบวาไฟลนนเขยนไดหรอไม is_writeable(files-name) Readfile() อานขอมลจากไฟลโดยไมตองเปดไฟล Readfile(files-name) Rename() เปลยนชอไฟล Rename(oldname,newname) Rewind() เลอนตวชไปยงตวแรกหรอตนของ ไดเรคทอร Rewind(file-handdle) Stat() แสดงรายละเอยดของไฟล Stat(filename) Touch() ก าหนดเวลาในการปรบแตงไหล Touch(files-name,[time]) Unlink() ลบไฟลทตองการ Unlink(files-name) Basename() แสดงชอไฟลไมรวม path Basename(path)

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

chgrp() เปลยนกลมของไฟล Chgrp(files-name-group) Chmod() เปลยนโหมดของไฟล Chmod(files-name,mode) Clearstatcache() Clear รายละเอยดตางภายใน แคช Clearstatcache() Copy() copy ไฟล Copy(ตนทาง,ปลายทาง) Dirname() แสดงชอ Directory ไมรวม path Dirname(path) Diskfreespace() หาเนอทวางใน Directory Diskfreespace(directory) Fclose() ปดไฟลทเปดอย Fclose(file_handle) Fwrite() เขยนขอความลงไฟล Fwrite(file_hand,text) Ftell() บอกต าแหนงพอยเตอรทอยในไฟล Ftell(file-handle) Fseek() เลอกพอยเตอรไปขางหนา Fseek(file_handle,offset)

Fread() อานขอมลจากไฟล สามารถระบจ านวนความยาวทจะอานได

Fread(file_handle,lenth)

Fputs() เขยนขอความลงไฟล ถาไฟลมอยแลว จะลบไฟลเกาและเขยนทบ

Fputs(files-name,text)

Fopen() เปดไฟล Fopen(files-name,mode) Filetype() ตรวจสอบประเภทไฟล Filetype(files-name) Filesize() ตรวจสอบขนาดไฟล Filesize(files-name) Fileperms() ตรวจสอบการก าหนดสทธของไฟล Fileperms(files-name) Fileowner() ตรวจสอบชอผสรางไฟล Fileowner(files-name) Filemtime() ตรวจสอบวา update ครงลาสดเมอใด Filemtime(files-name) Filegroup() ตรวจสอบกลมของไฟล Filegroup(files-name) Filectime() ตรวจสอบไฟลถกสรางเมอไหร Filectime(files-name) Fileatime() ตรวจสอบไฟลถหใชงานครงสดทายเมอไหร Fileatime(files-name) File_exists() ตรวจสอบไฟลนนมอยจรงหรอไม File_exists(files-name) File() อานไฟลแตละบรรทดลงใน Array File(files-name)

Fgetss() อานขอมลแตละบรรทดหรอแตละอกษร โดยตด แทก Html ออก

Fgetss(file_handle,length)

Fgets() อานขอมลแตละบรรทดหรอแตละอกษร Fgets(file_handle,length) Fgetc() อานขอมลทละอกษร Fgetc(file_handle)

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Feof() ตรวจสอบวา พอยเตอรเลอนไปอยทายไฟลหรอไม

Feof(file_handle)

Sample1.php เปนการแสดงรายละเอยดตาง ๆ ของไฟล index.html อยใน Directory C:\Appserv\www\index.html

<? $files="C:\Appserv\www\index.html"; echo"<br>Dirname คอ ".Dirname($files); echo"<br>Basename คอ ".Basename($files); echo"<br>Filetype คอ ".Filetype($files); echo"<br>Filesize คอ ".Filesize($files); echo"<br>Fileperms คอ ".Fileperms($files); echo"<br>Fileowner คอ ".Fileowner($files); echo"<br>Filemtime คอ ".Filemtime($files); echo"<br>Filegroup คอ ".Filegroup($files); echo"<br>Filectime คอ ".Filectime($files); echo"<br>Fileatime คอ ".Fileatime($files); echo"<br>is_dir คอ ".is_dir($files); echo"<br>is_file คอ ".is_file($files); echo"<br>is_readable คอ ".is_readable($files); echo"<br>is_writeableคอ ".is_writeable($files); ?>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

File ตวอยางการสรางไฟล <? $FILE =fopen("thaicreate.txt","w"); fputs( $FILE, "Test Create File\n"); fclose($FILE); echo " สรางไฟลส าเรจ"; ?> ตวอยางตอไปนเปนการเปดไฟลขนมาจากนนใหเขยนตอขอมลทมอยแลว

<? $FILE =fopen("thaicreate.txt","a"); fputs( $FILE, "ในสวนนเปนการเขยนตอจากขอมลเดม\n"); fclose($FILE); ?> <?

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

//-----ThaiCreate.Com By @W_IN----// $nome = "นายวระชย นกจรมย"; $address = "กรงเทพมหานคร"; $email = "is_php@hotmail.com";

$desc.= " ชอ : $nome "; $desc.= " ทอย : $address"; $desc.= " อเมล : $email "; $filename = "C:\ThaiCreate.txt"; if (!$filename = fopen($filename, "w")) { echo "ไมสามารถเขยนสรางไฟล ($filename)"; exit; } if (!fwrite($filename, $desc)) { print "ไมสามารถเขยนขอมลลงไฟล ($filename)"; exit; } echo "เขยนขอมลลงไฟลส าเรจ"; fclose($filename); ?> ตวอยางนเปนการอานขอมลทมอยใน text มาแสดง

<? $FILE =fopen("thaicreate.txt","r"); while (!feof($FILE)) { $text = fgets($FILE, 4096); echo $text; } fclose($FILE); ?>

ฟงกชน ทางเมล

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

สงท php ไดเปรยบกวา asp อกมมหนงกคอ การสงเมลล ซง php ไดเตยมฟงกชนส าหรบการสงเมลลใวใหเรยบรอยแลวครบ สามารถน าไปใชและสงไดแบบงาย ๆ

รปแบบ

mail(To,Subject,Massage,From);

การสงเมลลแบบม header

mail($email,$subject,$messages,$header);

ตวอยาง

$emailto='is_php@hotmail.com'; $email_from='webmaster@thaicreate.com'; $subject='ทดสอบการสงเมลล'; $header="from: $email_from"; $messages.= "สวสดครบ \n"; $messages.= "สบายดหรอเปลา \n"; $messages.= "ขอความอน ๆ "; mail($emailto,$subject,$messages,$header);

เมอ To คอ email ของผรบ Subject คอ หวขอชอเรง Massage คอ ขอความรายละเอยด From คอ header ทจะใชแทน sendmail_from เชน อเมลลผสง ส าเนา จะไมมกได Sample1.php

<? $To="is_asp@hotmail.com"; $Subject="ทดสอบการสงเมลล"; $Massage="ทดสอบการสงเมลลครบ ไดรบแลวตอบดวย"; $From="is_php@hotmail.com ";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

mail($To,$Subject,$Massage,$From); ?>

** การสงเมลโดยใหสามารถแทรก html ได

$emailto='is_php@hotmail.com'; $email_from='webmaster@thaicreate.com'; $subject='ทดสอบการสงเมลล'; $header.= "Content-type: text/html; charset=windows-874\n"; $header.="from: $email_from"; $messages.= "<b>สวสดครบ</br>"; $messages.= "สบายดหรอเปลา<br>"; $messages.= "ขอความอน ๆ<br> "; mail($emailto,$subject,$messages,$header);

หรอจะประยกตใชกบ Form กไดครบ

Sample2.php

<html> <body bgcolor="#FFFFFF"> <p>ทดสอบการสงเมลลครบ</p> <form name="form1" method="post" action="Sample3.php"> อเมลลผรบ <input type="text" name="To"> <br> ชอเรอง หวขอ <input type="text" name="Subject"> <br> ขอความ <textarea name="Massage" rows="5" cols="50"></textarea> <br> ผสง

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<input type="text" name="From"> <br> <input type="submit" name="Submit" value="สงเมลล"> </form> </body> </html>

Out Put

Sample3.php

<? $send_mail=mail($To,$Subject,$Massage,$From); if(!$send_mail) { echo"ยงไมสามารถสงเมลลไดในขณะน"; } else { echo "สงเมลลส าเรจ";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

} ?>

Out Put

ฟงกชน ทางดานขอความ

ส าหรบฟงกชนเกยวกบขอความ PHP ไดเตรยมใวเหมอนกนครบ ส าหรบหากใครเคยเรยนภาษา C มากอนคงจะคน ๆ ใชไหมครบ รปแบบการใชงานกคลายๆ กบภาษา C ครบ เรามารจกฟงกชนทจะสามารถน าไปใชงานกนดกวาครบ

ฟงกชน จดมงหมาย ความหมาย

strlen() หาความยาวของขอความ

strpos() หาต าแหนงขอความทคนพบอยในขณะนน

strrchr() ตดขอความจากตวสดทายทพบจนถงตวทายสด

str_repeat() แสดงขอความซ า ๆ ตามความตองการ

strrev() เรยงสลบขอความจากหลงไปหนา

strrpos() หาต าแหนงสดทายทคนพบ

strstr() ตดขอความบางสวนตงแตตวแรกทคนพบจนถงตวสดทาย

strtolower() แปลงขอความใหเปนตวพมพเลก

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

strtoupder() แปลงขอความใหเปนตวพมพใหญ

str_replace() เปลยนขอความทคนพบดวยขอความใหมทตองการ

strtr() แปลงตวอกษรทแนนอน

substr() ตดตวอกษรทตองการใชออกมา

substr_replace() เปลยนขอความภายในสวนของขอความ

trim() ตดชองวางดานหนาและดานหลงขอความ

ucfirst() เปลยนตวอกษรตวแรกของขอความใหเปนตวพมพใหญ

ucwords() เปลยนอกษรตวแรกของแตละค าในขอความ

stristr() ตดขอความบางสวนตงแตตวแรกทพบจนถงตวสดทาย ทง

ตวพมพเลกกและพมพใหญ

strip_tags() ตดแทก php และ Html ออกจากขอความ

strchr() ตดขอความบางสวนตงแตตวแรกทพบจนถงตวสดทาย

sprintf() ใหคาของขอความทมรปแบบ

similar_text() ค านวณความเหมอนระหวาง 2 ขอความ

setlocale() ปรบคาขอมลทองถน

prinf() แสดงผลขอความทมรปแบบ

prin() แสดงผลขอความ

parse_str() รบคาขอความใวในตวแปร

Ord() แปลงตวอกษรเปนรหส ASCII

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ltrim() ตดขอความดานหนาขอความออกไป

join() รวม Array เปนขอความ

implode() รวม Array เปนขอความ

htmlspecialchars() แสดงแทก Html

flush() เคลยรบฟฟอร

eregi_replace() แทนทขอความทคนพบดวยค าทตองการ โดยไมสนใจวาจะเปน

ตวพมพเลกหรอใหญ

ereg_replace() แทนทขอความทพบดวยค าทตองการ

explode() แยกขอความโดยใชเครองหมายแยก

echo() แสดงผลขอความ

Chr() แปลงรหส ASCII เปนตวอกษร

Chop() ตดชองวางทายขอความออกไป

มาดตวอยางประกอบกนหนอยครบ

Sample1.php เปนการหาความยาวของขอความ

<? $text="My Name is Werachai Nukitram"; echo"ความยาวเทากบ ".strlen($text)." ตวอกษร"; ?>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ความยาวเทากบ 28 ตวอกษร

Sample2.php เปนการแสดงขอความซ าหลายรอบ

<? $text="อยากบอกรกคณซะ 5 ครง"; echo str_repeat($text,5); ?>

Out Put

อยากบอกรกคณซะ 5 ครงอยากบอกรกคณซะ 5 ครงอยากบอกรกคณซะ 5 ครงอยากบอกรกคณซะ 5 ครงอยากบอกรกคณซะ 5 ครง

Sample3.php เปนการแปลงขอความใหเปนตวพมพ และ พมพใหญ

<? $text="My Name is Werachai Nukitram"; echo"ตวพมพเลกจะได ".strtolower($text)."<br>"; echo"ตวพมพใหญจะได ".strtoupper($text)."<br>"; ?>

Out Put

ตวพมพเลกเปน my name is werachai nukitram ตวพมพใหญเปน MY NAME IS WERACHAI NUKITRAM

Sample3.php เปนการสลบขอความจากดานหนามาดานหลง

<? $text="My Name is Werachai Nukitram"; echo"เรยวขอความจากหลงไปหนาจะได ".strrev($text)."<br>"; ?>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

เรยงขอความจากหลงไปหนาจะได martikuN iahcareW si emaN yM

Sample4.php เปนการหาต าแหนงของขอความทตองการ

<? $text="My Name is Werachai Nukitram"; echo"หาต าแหนงตวแรกทคนพบ e อยท ".strpos($text,e); echo"<br>หาต าแหนงตวสดทายทคนพบ e อยท ".strrpos($text,e); ?>

Out Put

หาต าแหนงตวแรกทคนพบ e อยท 6 หาต าแหนงตวสดทายทคนพบ e อยท 12 ตวอยางฟงกชนอน ๆ addslahes() จะท าการเพมเครองหมาย \ (Back Slashes) ใหกบ String ทมสญลกษณ ('), ("), (\) ดงตวอยางเชน <? $text = "I'm Win."; echo addslashes($text); ?> Out Put I\'m Win.

====================

chr() <? $text = "65"; echo chr($text); ?> Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

A =====================

ucwords()

<? $text = "what is your name?"; echo ucwords($text); ?> Out Put What Is Your Name?

======================

ucfirst()

<? $text = "what is your name?"; echo ucfirst($text); ?> Out put What is your name?

========================

str_replace()

<? $text = "My Name is win"; $textnew = str_replace("win", "werachai",$text); echo $textnew; ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out put My Name is weracha

=======================

explode()

<? $a = "A B C D E F G H I"; $b = explode(" ", $a); for($i=0;$i<count($b);$i++) { echo "$b[$i]<br>"; } ?> Out Put

A B C D E F G H I

=========================

ส าหรบฟงกชนอน ๆ สามารถอานและท าความเขาใจถงวธการใชงานไดท PHP Manual ครบ ( Download ไดท http://www.php.net/ )

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ฟงกชน วน-เวลา

Function date การอานคาส าหรบบงบอกวนเดอนปและเวลาในปจจบน เราสามารถใชค าสง date () ตวอยางเชน แสดงวนเดอนปของวนน รปแบบ Function date

<? $today=date("Y-M-d"); ?>

<? $today = date("D d F Y h:i:s"); print "<CENTER>Today is: $today.</CENTER>"; ?>

"Y-m-d" หมายถงสตรงคทก าหนดรปแบบ (formatted string) ของการแสดงวนท ในกรณนคอ ปค.ศ.-เดอน-วน ตามล าดบ จรงๆแลวฟงกชน date() จะตองการอารกวเมนตสองตวคอ สตรงคทก าหนดรปแบบ เชน "Y-m-d" และคาของ TimeStamp (integer) ในหนวยเปนวนาท นบตงแต 1 มกราคม 1970 ในกรณทเราไมไดก าหนด TimeStamp กจะหมายถง TimeStamp เวลาในปจจบน

ถาเราตองการแสดงทงเวลาและวนเดอนป กตองก าหนดรปแบบของสตรงคใหม เชน "D d F Y h:i:s" ซงตวอกษรแตละตวจะมความหมายและเปนตวบงบอกหนาท เชน d ใชแทนทวนในหนงเดอน D ใชแทนชอวนแบบยอในเจดวน F ใชแทนชอเดอนในทงหมด 12 เดอน Y แทนทปค.ศ. เปนเลขสหลก h i s ใชแทนชวโมง นาท และวนาทตามล าดบ <? $today = date("D d F Y h:i:s"); print "<CENTER>Today is: $today.</CENTER>"; ?> ส าหรบรายอนเพมเตมเกยวกบฟงกชน date() สามารถดไดจาก PHP manual

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Description Function date

a แสดงค าวา am หรอ pm ในรปแบบตวพมพเลก A แสดงค าวา AM หรอ PM ในรปแบบตวพมพใหญ d แสดงวนทแบบเลข 2 หลก คอ "01" ถง "31" D แสดงชอวนภาษาองกฤษแบบยอ เชน "Sun" , "Fri" เปนตน F แสดงชอเดอนภาษาองกฤษเชน "January" h แสดงเวลาชวโมงแบบ 2 หลก "01" ถง "12" H แสดงเวลาชวโมงแบบ 2 หลก "00" ถง "23" g แสดงเวลาชวโมงแบบไมมเลข 0 น าหนา "1" ถง "12" G แสดงเวลาชวโมงแบบไมมเลข 0 น าหนา "0" ถง "23" i แสดงเวลานาท "00" ถง "59" j แสดงวนทแบบไมมเลข 0 น าหนา "1" ถง "31" l แสดงชอวนภาษาองกฤษแบบเตม เชน "Monday" L แสดงคาทางตรรกะ คอ มคา 0 หรอ 1 ในปทเปนอธกมาส m แสดงเดอนแบบตวเลขมเลข 0 น าหนา "01" ถง "12" n แสดงชอเดอนภาษาองกฤษแบบยอ 3 ตวอกษร เชน "Feb" s แสดงเวลาวนาท "00" ถง "59" S แสดงสวนตอทายของวนท เชน "th", "nd" t แสดงจ านวนวนใน 1 เดอน w แสดงตวเลขของวนใน 1 สปดาห เชน "0" = Sunday ถง "6" = Saturday Y แสดงป ค.ศ. ตวเลข 4 หลก เชน "1990" y แสดงป ค.ศ. ตวเลข 2 หลก เชน "90" z แสดงล าดบวนใน 1 ป คอตงแต "0" ถง "365"

ตวอยาง Function date

<HTML> <HEAD><TITLE>ตวอยางการ Function date</TITLE></HEAD> <BODY>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<?

$today1=date("Y-M-d"); $today2=date("Y-m-D"); $today3=date("y-M-D");

print "$today1 <br>"; print "$today2 <br>"; print "$today3 <br>";

?>

</BODY> </HTML>

ผลลพธทได 2000-Apr-17 2000-04-Mon 00-Apr-Mon การบวกหรอลบเวลาจากปจจบน $fullday = date("d M H:i:s", mktime(date("H")[บวก/ลบ][ชม.], date("i")[บวก/ลบ][นาท.])).""; Sample <? $yea = date("Y")+543; $fullday = date("d M $yea H:i:s", mktime(date("H")+11, date("i")+45)).""; // บวกเวลา 11 ชม. กบ 45 นาท echo $fullday; ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

getdate()

<? &today = getdate(); $month = $today[month]; $mday = $today[mday]; $year = $today[year]; echo "$month $mday, $year"; ?>

จาก Code ตวแปร $today จะเปนอาเรยทมสมาชก $today[secounds] เกบคาวนาท $today[minutes] เกบคานาท $today[hours] เกบคาชวโมง $today[mday] เกบคาวนท $today[wday] เกบล าดบของวนใน 1 สปดาห เชน "0" ถง "6" $today[weekday] เกบชอวนในสปดาห เชน "Friday" $today[yday] เกบล าดบของวนใน 1 ป คอตงแต "0" ถง "365" $today[mon] เกบคาเดอน $today[month] เกบชอเดอนแบบเตม เชน "January" $today[year] เกบคาป

ลองมาดวนทแบบไทย ๆ บางครบ

Sample

<? // ThaiCreate.Com By @W_IN // $date = date("l");

switch($date) { case "Monday":

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$printdate = "จนทร"; break; case "Tuesday": $printdate = "องคาร"; break; case "Wednesday": $printdate = "พธ"; break; case "Thursday": $printdate = "พฤหสบด"; break; case "Friday": $printdate = "ศกร"; break; case "Saturday": $printdate = "เสาร"; break; case "Sunday": $printdate = "อาทตย"; break; }

$month = date("n");

switch($month) { case "1": $printmonth = "มกราคม"; break; case "2": $printmonth = "กมภาพนธ"; break;

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

case "3": $printmonth = "มนาคม"; break; case "4": $printmonth = "เมษายน"; break; case "5": $printmonth = "พฤษภาคม"; break; case "6": $printmonth = "มถนายน"; break; case "7": $printmonth = "กรกฏาคม"; break; case "8": $printmonth = "สงหาคม"; break; case "9": $printmonth = "กนยายน"; break; case "10": $printmonth = "ตลาคม"; break; case "11": $printmonth = "พฤศจกายน"; break; case "12": $printmonth = "ธนวาคม"; break; }

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo "$printdate ".date("d")." $printmonth ".(date("Y")+543).""; ?> Out Put

ศกร 25 มถนายน 2547

การใชฟงกชนเพอสรางตวเลขแบบสม

การใชฟงกชนเพอสรางตวเลขแบบสม หรอ random number generator จะคลายกบของภาษาซ คอ เรมตนดวย srand () โดยจะตองผานคาทเรยกวา seed ซงเปนเลขจ านวนเตมใดๆกไดกอน โดยทวไปจะใชคาของเวลาในหนวยวนาท หรอ Time Stamp ซงสามารถอานไดจากฟงกชน date("s") (s หมายถง second หรอหนวยวนาท) โดยผานคานเปนคาของ seed จากนนจงคอยเรยกใช rand() ตวอยางการใชงาน <? srand( date("s") ); for ($i=0; $i < 10; $i++) { $x = rand() % 10; echo $x," "; }

?> ค าสงนจะสรางตวเลขโดยการสมเลอกเปนจ านวน 10 ตวเลข และพมพออกทางเอาพต

ตวอยางการใชงานเพมเตมในรปของฟงกชน <? function randInt($low,$high) { srand ( date("s") ); $range = $high - $low; $num = (rand() % $range) + $low; return $num; }

?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ตวอยางนจะสรางตวเลขโดยสมทอยระหวางเลขจ านวนเตมสองคา และเงอนไขของการใชฟงกชนนคอ $low จะตองมคานอยกวา $high และทงสองตองเปนเลขจ านวนเตม <? function randStr($len) { srand ( date("s") ); for ($i=0; $i < $len; $i++) { $ret_str .= chr( (rand() % 26)+97 ); } return $ret_str; } echo randStr(40); ?> ตวอยางนจะสรางสตรงคแบบสมทมความยาวตามทก าหนดและสรางขนจากตวอกขระภาษาองกฤษ

การสราง Random Password

การสราง Password Random แบบงาย ๆ

function random_password($len) { srand((double)microtime()*10000000); $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; $ret_str = ""; $num = strlen($chars); for($i = 0; $i < $len; $i++) { $ret_str.= $chars[rand()%$num]; $ret_str.=""; } return $ret_str; }

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

// echo random_password(8); $passw = random_password(7); echo $passw;

<? function randomToken($len) { srand( date("s") ); $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; $chars.= "1234567890!@#$%^&*()"; $ret_str = ""; $num = strlen($chars); for($i=0; $i < $len; $i++) { $ret_str.= $chars[rand()%$num]; } return $ret_str; }

echo randomToken(13)," ";

?>

การสรางฟงกชนแบบเรยกตวเอง (recursive function)

ตวอยาง การหาคาแฟลทอเรยล n! <? function factorial ($n) { if ( ($n == 0) || ($n == 1) ) return 1; else return $n*factorial($n-1); } echo factorial(4);

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

?> เงอนไขกใชฟงกชน factorial() จากตวอยางขางบน คอ $n จะตองเปนตวแปรทเกบคาทเปนเลขจ านวนเตม และไมเปนลบ ถาเราตองการจะเขยนฟงกชนใหมความปลอดภยในการใชงาน เรากอาจจะเพมเงอนไข เพอตรวจเชคดกอนวา ผใชผานคาของตวแปรทตรงตามตองการหรอไม เชน ไมผานคาทเปนสตรงค หรอเปนเลขทศนยม หรอคาทเปนลบ เปนตน

ตวอยาง การคนหาขอมลแบบ Binary Search ในอารเรยทมการเรยงขอมลจากนอยไปมาก <? function binSearch(&$key,&$array, $left, $right) { $mid = ceil( ($left + $right) / 2 );

if ($left > $right) return -1; if ($array[$mid] == $key) return $mid; else if ($key < $array[$mid]) return binSearch($key, $array, $left, $mid-1); // recursive call else return binSearch($key, $array, $mid+1, $right); // recursive call }

$num=100; $key = randInt(0, $num); for($i=0; $i < $num; $i++) { $sorted_array[$i] = $i+1; }

echo binSearch(13, $sorted_array, 0, $num);

?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ตวอยาง การสรางสตรงคแบบสมอกแบบหนงซงอาจจะน าไปใชในการสราง one-time password ( OTP) <? function randomToken($len) { srand( date("s") ); $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; $chars.= "1234567890!@#$%^&*()"; $ret_str = ""; $num = strlen($chars); for($i=0; $i < $len; $i++) { $ret_str.= $chars[rand()%$num]; } return $ret_str; }

echo randomToken(13)," ";

?>

หมายเหต: การก าหนดคา seed ส าหรบฟงกชน srand() นอกจะใช date("s") เปนตวก าหนดคาแลว เราอาจจะใชฟงกชนอนกได เชน srand((double)microtime()*1000000);

ตวอยางฟงกชนทเกยวของกบการท างานของสตรงค

สองฟงกชนแรกทเราจะท าความรจกคอ ฟงกชน strtolower() และ strtoupper() ซงมหนาทคอ เอาไวแปลงตวอกขระภาษาองกฤษใหเปนตวพมพเลก หรอตวพมพใหญทงหมด ตามตวอยางตอไปน <? $answer = "Yes"; if ($answer == "yes") echo "yes...\n"; else echo "error!\n"; $answer = strtolower("Yes"); if ($answer == "yes")

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo "yes...\n"; else echo "error!\n";

$answer = strtoupper("Yes"); if ($answer == "YES") echo "YES...\n"; else echo "error!\n"; ?> ประโยชนของฟงกชนทงสองทเหนไดชด คอ เอาไวใชแปลงขอความใหเปนตวพมพใหญหรอเลกทงหมด กอนทเราจะใชในการเปรยบเทยบขอความ เชน ผใชอาจจะใสขอความไวใน $answer วา "Yes" "YeS" "yES" หรอ "YES" เปนตน แตเราอยากรวา ผใชใสค าวา yes หรอไม โดยไมสนใจวาจะเปน ตวพมพใหญหรอเลก ในกรณน เรากแปลงใหเปนตวพมพเลกกอน แลวกน ามาเปรยบเทยบ

สมมตวา มสตรงคหรอขอความอยแลวตองการจะแยกออกเปนสวนยอยๆโดยใชตวอกขระ หรอสตรงคทมอยขางในเปนตวแยก เราจะใชฟงกชน explode() ตามตวอยางตอไปน <? $str = "ohh:users:bash"; list($user,$group,$shell) = explode(":",$str); echo "$user $group $shell"; ?> จากตวอยางขางบนเราใช ":" เปนตวแยกสวนของขอความวา "ohh:users:/bash" และคาทไดจากฟงกชน explode() จะเปน array ดงนน เรากสามารถใชฟงกชน list() เกบสวนของขอความทถกแยกแลวได ในกรณนมสามสวนและถกแยกเกบไวในตวแปร $user $group และ $shell ตามล าดบ

ฟงกชนทท างานตรงกนขามกบฟงกชน explode() คอฟงกชน join ตวอยางการใชงานมดงน <? unset($a); $a[]="aaa"; $a[]="bbb"; $a[]="ccc";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo join(":",$a)."<BR>\n"; ?> การแปลง \n ใหเปน <BR> ฟงกชน nl2br จะท าหนาทแปลง \n ใหเปน <BR> ส าหรบขนบรรทดใหมในเอกสาร HTML โดยอตโนมต เชน สมมตวา เราเปดไฟลและอานขอความจากไฟลนน แลวตองการจะแทรกขอความเหลานน เปนบรรทดๆ ลงในเอกสาร HTML เนองจากวาในขอความทเปนสตรงคและม '\n' จบทาย และเราตองการจะแปลงใหเปน <BR> เพอจดหนาเอกสารใหเหมาะสม เรากใชฟงกชนดงกลาวชวย <? // convert \n to <br> $br=nl2br("\n\n"); echo $br."hello".$br; ?>

การตวแปรแบบ static ภายในฟงกชน

การตวแปรแบบ static ภายในฟงกชน สมมตวา เราตองการจะใชตวแปรภายในฟงกชน และสามารถเกบคาไวไดตลอดเวลา โดยไมสญหายไปทกครงทมการเรยกใชฟงกชน ในกรณนเราจะแจงใชตวแปรใหเปนแบบ static ตามตวอยางตอไปน function MyFunc() { static $num_func_calls = 0; echo "my function\n"; return ++$num_func_calls; }

ทกครงทมการเรยกใชฟงกชนดงกลาว ตวแปรชอ $num_func_calls ซงมคาเรมตนเปนศนยในตอนแรก จะเพมคาทเกบขนทละหนง

--------------------------------------------------------------------------------

การผานคากลบคนมากกวาหนงจากฟงกชน โดยปรกตแลวเราไมสามารถผานคากลบคนจากฟงกชนไดมากกวาหนง แตอยางไรกตาม ยงมวธการหนงท

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ชวยแกปญหาดงกลาวได วธนคอ เกบคาตางๆทตองการจะใชเปนคากลบคนไวใน array แลวใช array นนเปนคากลบคน และผเรยกใชฟงกชนสามารถใชฟงกชน list() อานคาเหลานนได ตวอยางเชน <? function foobar() { return array ("foo", "bar", 0xff); } list ($foo, $bar, $num) = foobar(); echo "$foo $bar $num <BR>\n"; ?>

จากตวอยาง ฟงกชน foobar() จะใหคากลบคนเปน array ประกอบดวยสามสมาชก คาทไดจากฟงกชนนกจะสงไปยงฟงกชน list() เพอใหเกบแยกลงในตวแปรตามชอทก าหนดคอ $foo, $bar และ $num ตามล าดบ

การสลบคาของตวแปรสองตว swap()

ถาเราตองการสลบคาระหวางสองตวแปร เรากเขยนฟงกชน swap() ขนมา <? function swap(&$a, &$b) { $t = $a; $a = $b; $b = $t; }

$x=10; $y=3; echo "x=",$x,",y=",$y,"\n"; swap($x,$y); echo "x=",$x,",y=",$y,"\n";

?> ตวอยางขางบน กแสดงใหเหนวธการใช call-by-reference อกเชนกน

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

มขอสงเกตอยวา การใช call-by-reference ไมจ าเปนตองท าตอนนยามฟงกชนเทานน แตอาจจะท าตอนผานตวแปรเมอเรยกใชงานจรง ตวอยางเชน <? function swap($a, $b) { $t = $a; $a = $b; $b = $t; }

$x=10; $y=3; echo "x=",$x,",y=",$y,"\n"; swap(&$x, &$y); echo "x=",$x,",y=",$y,"\n";

?>

จากตวอยางน เราแกไขฟงกชน swap() ท าใหไมสนบสนน call-by-reference ดงนนเพอจะใชงานไดอยางถกตอง เรากจะตองใช reference ของตวแปรเปนอารกวเมนตของฟงกชน ในเวลาทเรยกใช ซงกคอ swap(&$x,&$y) ถาเราไมท าอยางน เชน เขยนวา swap($x,$y) กจะไมมการสลบคาของตวแปรทงสอง เนองจากวา เมออยภายในฟงกชน swap() แลว เราไมสามารถเปลยนแปลงคาของตวแปรเหลานนได คออานได แตไมสามารถก าหนดคาใหมได

การอานและแปลงแบบขอมลในตวแปรหรอคาคงทแบบเจาะจง

ถาตองการเชคดวา ตวแปรมขอมลแบบใด เราสามารถใชค าสง gettype() ได คาทไดจากฟงกชนกจะเปน "integer" "double" หรอ "string" เปนตน <? echo gettype(0),"\n"; echo gettype(1.1),"\n"; echo gettype(""),"\n"; echo gettype((1==1)),"\n";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$var="abc"; if ( gettype($var)=="string" ) { echo "this is a string\n"; }

?> เราอาจจะไมใช gettype() กได แตเลอกใชฟงกชน is_long() ส าหรบเชคคาทเปนเลขจ านวนเตม, is_string() ส าหรบเชคคาทเปนสตรงค, is_double() ส าหรบคาทเปนเลขทศนยม, is_array() ส าหรบคาทเปนอารเรย หรอ is_object() ส าหรบคาทเปนออปเจคจากคลาสแทน ซงจะใหคาเทากบ true (1) ถาตวแปรมแบบขอมล ตรงตามทก าหนด <? unset($a); $a="hello"; if (is_string($a) == true) { echo "\$a is a string <BR>\n"; }

unset($a); $a[]="red"; $a[]="green"; $a[]="blue";

if (is_array($a) == true) { echo "\$a is an array of size ",count($a),"<BR>\n"; }

?>

โปรดสงเกตวา เราใชค าสง unset() เพอลบคาทตวแปรเกบอยในขณะนน ในกรณน เราก าหนดให $a เปนสตรงคในตอนแรก ถาเราจะตองการใชตวแปรตวเดยวกนน เปนคาใหมแตเปนอารเรย กจะใชค าสง unset() กอน

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ตวอยางการใช echo เพอแสดงขอความ (เพมเตม) การพมพคาใดๆทเกบอยในตวแปร ถาชอของตวแปรอยในสตรงคระหวาง double quote เวลาสรางเอาพตแลว จะอานคาของตวแปรนนกอนแลวจงแทนทลงในขอความ แตถาน าหนาดวย backslash (\) กจะไมมการอานคาของตวแปร เชน "\$a" จะใหผลตางจาก "$a" สงเกตไดจากตวอยางตอไปน <? $a=1; echo "\$a=$a <BR>\n"; $test = "test"; echo "$test$test$test<BR>\n"; echo $test,$test,$test,"<BR>\n";

$a = 1; $b = 2; echo $a,"+",$b,"=","$a+$b","<BR>\n"; echo $a,"+",$b,"=",$a+$b,"<BR>\n"; ?> ส าหรบขอความในภาษา PHP เราอาจจะใช single qoute แทน double quote ได แตเวลาใชงานรวมกบ echo หรอ print() จะใหผลตางกน ซงสงเกตไดจากตวอยางตอไปน <? $a = "aaa"; $b = 'bbb'; echo "$a $b<BR>\n"; echo '$a $b<BR>\n'; ?> ตวแปลค าสงจะมองขามชอตวแปรและรวมถงพวก escape sequence ตางๆดวยทอยในขอความทใช single quote

Regular Expression (Regex)

Regular Expression หรอเรยกยอๆวา Regex หมายถง รปแบบของล าดบ หรอกลมของสญลกษณ ทใชแทนล าดบ หรอกลมของอกขระตามทตองการ

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

เราใชสญลกษณ [ ] (square brackets) เพอก าหนดขอบเขตของกลมตวอกขระหลายตวทใชเปนตวเลอก เชน สมมตวา เราตองการจะเขยนรปแบบทใชแทนตวอกขระหนงตว อะไรกไดจาก {a,e,i,o,u} เรากจะเขยนวา [aeiou] โดยจะเรยงล าดบกอนหลงอยางไรกได เชน [eioua] ใหผลเหมอนกบ [aeoui] หรอ ถาเราตองการเขยน รปแบบเพอใชแทนตวขระหนงตวทเปนตวเลขตวใดตวหนงจาก 0 ถง 9 เรากเขยนวา [0123456789] หรอจะเขยนแบบสนๆใหมไดเปน [0-9] หรออกตวอยางหนง ถาเราตองการจะเขยนนพจนแบบ regex ขนมา เพอใชแทนอกขระตวใดตวหนงทเปนไดทงตวพมพใหญหรอเลกในภาษาองกฤษหรอตวเลขระหวาง 0 ถง 9 เรากเขยนวา [A-Za-z0-9]

[aeiou] ตวอกขระตวหนงจาก {a,e,i,o,u} ตวไหนกได [0-9] ตวอกขระตวหนงจาก {0,1,...,9} ตวไหนกได [A-Za-z0-9] ตวอกขระตวหนงจาก {A,B,..,Z, a, b, ... , z, 0, 1, ... 9} ตวไหนกได

ถาเรามขอความแลวเราตองการจะคนหาอกขระหรอล าดบของอกขระ (หรอ pattern) ในขอความเรานน เราเรยกขนตอนในการคนหาตามรปแบบนวา pattern matching ในภาษา PHP จะมฟงกชนทเราใชในการคนหาล าดบของตวอกขระตามแบบทตองการคอ ereg() และ eregi() และตางกนตรงทวา ฟงกชน eregi() จะเปรยบเทยบโดยไมค านงถงเรองตวพมพเลกหรอใหญ

ตวอยางเชน สมมตวา เรามขอความอยในอารเรยเปนขอความทมแคตวอกขระตวเดยว แลวเราตองการจะหาวา ตวไหนบางทเปนตวเลข 0 ถง 9 บางและตวไหนบางทเปนตวพมพภาษาองกฤษ a, b, หรอ c เรากเขยนสครปตโดยใชฟงกชน ereg() ไดดงน <? $a=array("0","1","2","3","5","7","a","b","c"); for ($i=0; $i < count($a); $i++) { // print only digit if ( ereg("[0-9]",$a[$i]) ) { print ("$a[$i] <BR>\n"); } } ?> <HR> <? for ($i=0; $i < count($a); $i++) { // print only a, b or c if ( ereg("[a-c]",$a[$i]) ) {

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

print ("$a[$i] <BR>\n"); } } ?>

ขอความทเราใชในตวอยางขางบนมแคตวอกขระเพยงหนงตว แตอนทจรงแลวฟงกชน ereg() จะใหคาเปนจรง ถาพบวา ขอความทมความยาวมากกวาหนงตวอกขระและมตวอกขระอยางนอยหนงตวทตรงตามรปแบบทก าหนด ฟงกชนกจะใหคาเปนจรงดวย ตวอยางเชน <? $a=array("f","mn", "eU","+5","Y","17","a4","%m","cdef"); for($i=0; $i < count($a); $i++) { if ( ereg("[a-z]",$a[$i]) ) { print ("$a[$i] <BR>\n"); } } ?>

ผลจากการท างานของสครปตในตวอยางนจะไดวา ขอความทตรงตามรปแบบ [a-z] โดยใชฟงกชน ereg() ในการเปรยบเทยบ คอ "f", "mn", "eU", "a4", "%m" และ "cdef" เพราะวาขอความเหลาน มตวอกขระอยางนอยหนงตวทอยระหวาง a ถง z ดงนนจงจะเหนไดวา ขอความทเหลอคอ "+5", "Y" และ "17" ไมตรงตามรปแบบ

จากตวอยางขางบน สมมตวา เราตองการจะหาขอความทมสองตวอกขระและมแคสองตวเทานน เปนตวใดกไดระหวาง a ถง z เรากจะตองก าหนดรปแบบใหการคนหาใหเปน ^[a-z]{2}$ โดยทสญลกษณ ^ หมายถงการเรมตน และ $ หมายถงการลงทาย และเราจะอานวา ใหคนหาขอความทเรมตนดวยตวภาษาองกฤษพมพเลก และจบดวยตวภาษาองกฤษพมพเลก และมอยสองตวเทานน จากตวอยางขางบน ถาเราใชรปแบบใหมนในการคนหา เราจะได "en" เปนขอความเดยวเทานนทตรงตามรปแบบ

สมมตวา เราตองการคนหาค าทขนตนดวยตวพมพใหญภาษาองกฤษและตามดวยสระ {a,e,i,o,u} ถาขอความมมากกวาสองตวอกขระแลวตวทตามมาจะเปนอะไรกได เรากเขยนรปแบบในการคนหาได เปน ^[A-Z][aeiou] ลองตวดอยางตอไปน <? $a=array("f","Monday", "eU","755","Pu","English","Tuesday","for", "Bee");

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

for($i=0; $i < count($a); $i++) { if ( ereg("^[A-Z][aeiou]",$a[$i]) ) { print ("$a[$i] <BR>\n"); } } ?> ตวอยางนจะไดวา "Monday", "Pu" ,"Tuesday" และ "Bee" คอขอความทตรงตามรปแบบทก าหนด

ถาตองการจะหาขอความทขนตนดวยตวพมพใหญแลวตามดวยสระเปนตวพมพเลกอยางนอยหนงตว เรากเขยนวา ^[A-Z][aeiou]+$ ซงเครองหมายบวกทอยขางหลง [aeiou] หมายความวา มไดอยางนอยทสดหนงตว จากตวอยางขางบน ถาเราใชรปแบบใหมนในการคนหา กจะไดขอความ "Pu" และ "Bee" เทานนทตรงตามรปแบบ

ถาจะหาขอความทขนตนดวยตวพมพใหญแตตามดวยตวพมพเลกใดๆกไดทไมใชสระ {a,e,i,o,u} เรากเขยนใหมไดเปน ^[A-Z][^aeiou] โปรดสงเกตวา เราใสสญลกษณ ^ ไวระหวาง [ ] และอยขางหนาสด เพอใชก าหนดกรณตรงขาม และจากตวอยางขางบน เราจะไดขอความ "English" เทานนทตรงตามรปแบบใหมน

อกตวอยางหนงทนาสนใจ คอ สมมตวา เรามรายชอไฟลอยหลายๆชอ ตองการจะตรวจดวา ชอไหนลงทายดวย .gif .jpeg .jpg หรอ .png บาง โดยใช eregi() ในการคนหา เราจะตองก าหนดรปแบบของ regex ขนมากอน ซงท าไดดงน (\.gif|\.jpg|\.jpeg|\.png)$ ในกรณนเราไมไดใช [ ] แตใชวงเลบค ( ) แทน และสญลกษณ \. เปน escape sequence ทเราใชแทนจด (.) ถาเขยนอยในระหวางวงเลบค เนองจากวาถาใชจดโดยไมม backslash (\) น าหนากจะหมายถง ตวอกขระใดๆกได ถาเราใชจดระหวาง [ ] กจะหมายถงจด โดยไมตองใส \ ไวเพอก าหนดใหเปน escape sequence <? $files=array("bird.gif","Linux.JPG", "unknown.xbm","icon.Png"); for($i=0; $i < count($files); $i++) { if ( eregi("(\.gif|\.jpg|\.jpeg|\.png)$",$files[$i]) ) { print ("$files[$i] <BR>\n"); } } ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ความแตกตางของการใช ( ) และ [ ] อยทวา ถาเขยน (abc) หมายถงขอความทเรมดวย a ตามดวย b และ c ตามล าดบ ในขณะท [abc] หมายถง a หรอ b หรอ c ซง [abc] จะใหผลเหมอนกบ (a|b|c) และเครองหมาย | ทใชภายในวงเลบค ( ) จะหมายถง "หรอ" ดงนนจากตวอยางขางบน จากรปแบบเดม (\.gif|\.jpg|\.jpeg|\.png)$ เราอาจจะเขยนใหมไดเปน [(\.gif|\.png)(\.jpg|\.jpeg)]$ กจะใหผลเหมอนกน

จากทไดอธบายมากเปนเพยงการใชงานสวนหนงของ Regular Expression ซงยงมลกษณะและการใชงานทนอกเหนอจากทกลาวไป

สญลกษณพนฐานทใชในการเขยน Regular Expression

. ตวอกขระใดๆกได [ ... ] ตวอกขระตวใดๆกไดทอยในกลมของตวอกขระทเปนตวเลอก [^... ] ตวอกขระตวใดๆกไดทไมไดอยในกลมของตวอกขระทเปนตวเลอก ^ ต าแหนงเรมตนของขอความ $ ต าแหนงทายสดของขอความ \< ต าแหนงเรมตนของค า \> ต าแหนงทายสดของค า | สญลกษณทใชแยกตวเลอกระหวาง ( ... ) (...) ใชแทนกลมของตวเลอก

Repetition Quantifiers

? ถามกไมเกนหนงตวหรอไมมกได * มหนงตวหรอมากกวาหนงหรอไมมเลยกได + มหนงตวหรอมากกวาหนงกได แตตองมอยางนอยหนงตว {min,max} ใชก าหนดจ านวนนอยทสดและมากทสดทจะมได

ตวอยางของการใช regular expressions

^be ขอความทขนตนดวย b และถดจาก b ตามดวย e ^[be] ขอความทขนตนดวย b หรอ e [^be] ขอความทไมไดขนตนดวย b และ e

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ion$ ขอความทลงทายดวยหรอจบทายดวย ion [ion]$ ขอความทลงทายหรอจบทายดวย i หรอ o หรอ n \n$ ขอความทมสญลกษณ \n (new line) อยทาย <H[1-6]> ขอความทม <H1> <H2> <H3> <H4> <H5> หรอ <H6> อยดวย <H[^4-6]> ขอความทไมม <H4> <H5> และ <H6> อยดวย [0-9.] ขอความทมตวเลขใดๆระหวาง 0 ถง 9 หรอ จด อยดวย ^Subject$ ขอความทมค าวา Subject เทานน ^(From|Subject|Date): ขอความทมค าวา From: หรอ Subject: หรอ Date: ขนตน ^[0-9]+$ ขอความทมตวเลขเทานนและอยางนอยหนงตว ([0-9]+(\.[0-9]+){3}) ขอความทตรงตามรปแบบของหมายเลข IP เชน 127.0.0.1 ^[-+]?[0-9]+(\.[0-9]*)?$ ขอความทตรงตามรปแบบของตวเลขทศนยม เชน -12.345

การใชงาน regular expression อยางจรงจงนนไมใชเปนเรองงาย ตองท าความเขาใจอยางจรงจง และในเอกสารนกท าไดแคน าเสนอเนอหาพนฐานส าหรบการใชงานเทานน ถาใครสนใจการใชงานอยางจรงจง ในเรองของ regular expression กสามารถหาหนงสอ ส าหรบเรองนโดยเฉพาะมาอานได

PHP กบ Mysql

ตอนท 1 เบองตนดวย Mysql

พดถง Mysql แลว ใครหลาย ๆ คนทยงไมรจก อาจจะไมรวามนคออะไร ใชท าอะไร มประโยชนอยางไร และใชงานอยางไรส าหรบในความคดของผมแลว มนคอ โปรแกรม ฐานขอมลทสดยอดทสดส าหรบ PHP การใชงานคอนขางทจะยากหนอยครบเพราะพนฐานการออกแบบฐานขอมล Mysql จะออกแบบบน Dos แต php ไดเตรยมฟงกชนสามารถออกแบบ และสรางฐานขอมลบน php ไดอยางงาย ๆ และสามารถน าไปใชงานไดทนท ขอดของ Mysql ทผมยอมรบคอ php สามารถท างานบน mysql ไดอยางรวดเรวและมประสทธภาพ

จะท าอยางไรเมอตองการใช Mysql - ส าหรบผทไมไดตดตง Apperv จะตองตดตงโปรแกรม mysql กไมยากครบ คณแคลงโปรแกรม Mysql ซง Downloads ไดจาก http://www.mysql.com/ โดยอาจจะใช mysql-3.23.33-win หรอ mysql-shareware-3.22.34-win หรออาจะใชเวอรชนอน ๆ ตามความสะดวกครบ

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

แตกใหเหมาะสม และ Support กบ Os ทคณใชดวยครบ แตเนอหาทผมจะสอน ผมใช mysql-shareware-3.22.34-win

ตดตงอยางไร เมอ Download เสรจแลวกใหตดตงตามปกตครบ Next Next และก Next เปนอนเสรจครบ

ใชงานอยางไร ตองท าความเขาใจกอนครบ วากอนจะตดตอกบฐานขอมล Mysql ได คณตองท าการ Start ฐานขอมลกอนครบ ซงคณจะตอง Start ทกครงทท าการเปดเครองใหม ตามขนตอนตอไปนครบ

- เปด Dos ขนมา

- cd\ - cd mysql\bin

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

- mysqld-shareware ( หากคณใช mysql-3.23.33-win จะใช mysqld )

- Mysql

หากขนขอความ Welcome to the Mysql monitor...................................... แสดงวา Mysql พรอมทจะท างานแลว

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

- ส าหรบผทไดตดตง Apperv แลวจะสามารถใช Mysql ไดโดยไมตองตดตง Run Program ไดท

Cd\ Cd appserv\mysql\bin

Mysqld

Mysql

ตอนท 2 เรมตดตอกบ Mysql

กอนทจะตดตอกบ Mysql เราจะตองรจกฟงกชนเหลานกอนครบ ซงจ าเปนมาก ๆ ทจะตองรและใชงานเปน

ฟงกชน จดมงหมาย ความหมาย

mysql_connect ตดตอกบฐานขอมล mysql mysql_close ปดการเชอมตวกบ mysql mysql_create_db สรางฐานขอมล mysql mysql_data_seek เลอนพอยเตอรภายใน mysql_db-query สงควรไปยง mysql mysql_drop_db ลบฐานขอมล ใน mysql mysql_errno ใหคา ขอความ ทเกดขอผดพลาดจากการท างาน mysql mysql_error ฝหคา ขอความ ทเปนขอความจากการท างาน mysql mysql_fetch_array เกบคาจาก Reccord ลง Array mysql_fetch_filed ใช object เพอไดคาเกยวกบฟวส mysql_fetch_lengths คาขอบเขตแตละผลลพธ mysql_fetch_object คาทเปน object mysql_fetch_row ระบคาลง Array mysql_field_name แสดงคาเปนชอฟวส

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

mysql_filed_seek ก าหนดพอยเตอรชไปยงฟวส mysql_filed_table แสดงคาเปนชอตารางจากชอฟวส mysql_filed_type แสดงคาเปนประเภทของฟวส mysql_filed_len แสดงคาเปนขนาดของฟวส mysql_free_result เปนการก าหนดใหหนอยความจ าวางมากขน mysql_affected_rows หาคาจ านวน Reccord ในการใช Mysql กอนหนาน mysql_change_user เปลยนชอลอกอนส าหรบการตดตอปจจบน mysql_insert_id ก าหนดคา id ไดจากค าสง insert ทผานมา mysql_list_files แสดงชอฟวสของ mysql mysql_list_dbs แสดงชอฐานขอมลของ mysql mysql_list_tables แสดงชอตารางในฐานขอมลของ mysql mysql_num_files นบส านวนฟวส mysql_num_rows นบจ านวน Reccord mysql_pconnect เปดการตดตอกบ mysql ทมอยแลว mysql_query สงค าสงควรไปยง mysql mysql_result result เพอดงขอมล mysql_select_db ใชเมอตองการเลอกฐานขอมลของ mysql mysql_tablename แสดงชอตาราง

ฟงกชนเหลานมความจ าเปน ทจะตองรความหมายและการใชงาน ลองมาดซกตวอยางครบ Sample1.php เปนการตวจสอบวาสามารถตดตอกบฐานขอมลไดหรอไม

<html> <body> <? $host="localhost"; $username=""; $password=""; $connect= mysql_connect( $host,$username,$password); if ( !$connect )

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

{ echo "ตดตอกบฐานขอมล Mysql ไมได "; exit(); }else{ echo "สามารถตดตอกบฐานขอมล Mysql ได "; } mysql_close($connect); ?> </body> </html>

Out Put

ตอนท 3 ค าสงพนฐาน

ในหวขอนเราจะไดศกษาเกยวกบค าสงพนฐานในการจดการฐานขอมล Mysql ให Start ฐานขอมลกอนครบ

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

1.เกยวกบ Database การสรางฐานขอมล รปแบบ Create database [database-name];

การลบฐานขอมล

รปแบบ Drop database [database-name];

การเลอกใชฐานขอมล

รปแบบ Use [database-name];

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

2.เกยวกบ Table การสราง Table

รปแบบ Create Table [Table-name] ( filed-name1 tpye [not null/null], filed-name2 tpye [not null/null], filed-name3 tpye [not null/null], . . . filed-nameN tpye [not null/null] primary key (file-name) //ไมก าหนดกได );

ตวอยางตอไปนเปนการสราง Table Product ประกอบดวย - barcode ชนด INT เกบตวเลขสงสด 7 ตวเลข หามมคาวาง - description ชนด varchar เกบจ านวน 50 ตวอกษร หามมคาวาง - price ชนด Float ก าหนดทศนยม 2 ต าแหนง หามมคาวาง - page ชนด INT เกบตวเลขสงสด 4 ตวเลข หามมคาวาง - writer ชนด varchar เกบจ านวน 70 ตวอกษร หามมคาวาง โดย barcode เปน primary Key

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ชนดของขอมลใน Mysql

ค าสงลบ Table

รปแบบ Drop Table [Table-name];

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ค าสงเรยกดโครงสรางของตาราง

รปแบบ describe [ table-name ]

ตอนท 4 ออกแบบฐานขอมล Mysql ผานฟงกชนของ PHP

นอกจากเราออกแบบฐานขอมล Mysql บน Dos แลว PHP ยงเตรยมฟงกชน ทใหเราสามารถออกแบบฐานขอมลบน PHP ไดเหมอนกน

ค าสงการสรางฐานขอมล

ตวอยาง <html> <body> <? $host="localhost"; $username=""; $password=""; $db="Data"; $connect= mysql_connect( $host,$username,$password); if ( !$connect ) { echo "ตดตอกบฐานขอมล Mysql ไมได "; exit(); }

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

else { /* สรางฐานขอมล */ $create_db = mysql_query("CREATE DATABASE $db")or die ("สรางฐานขอมลไมได"); if (!$create_db) { mysql_die(); } else { echo"<b>สรางฐานขอมลส าเรจ ชอฐานขอมล $db</b>"; } } mysql_close($connect); ?> </body> </html>

Out Put

ค าสงการสรางตาราง ( Table )

ตวอยาง

<html> <body> <? $host="localhost"; $username="";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$password=""; $db="Data"; $tb="Student"; $connect= mysql_connect( $host,$username,$password); if ( !$connect ) { echo "ตดตอกบฐานขอมล Mysql ไมได "; exit(); } else { mysql_select_db($db) or die("เลอกฐานขอมลไมได"); /* ท าการเลอกฐานขอมลกอน */

/* สราง Tables */ $create_tb=mysql_query("CREATE TABLE $tb ( id int(13) NOT NULL, name varchar(50) NOT NULL, old int(2) NOT NULL, address varchar(70) NOT NULL, PRIMARY KEY (id) );") or die("<br>สรางตาราง $tb ไมส าเรจ ");

if (!$create_tb) { mysql_die(); } else { echo"<br><b>สราง Table ส าเรจ ชอ $tb</b> "; } } mysql_close($connect);

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

?> </body> </html>

Out Put

ดงตวอยางตอไปนเปนการสราฐานขอมล Cus_product และ Table Product ประกอบดวย Filed - barcode ชนด INT เกบตวเลขสงสด 7 ตวเลข หามมคาวาง - description ชนด varchar เกบจ านวน 50 ตวอกษร หามมคาวาง - price ชนด Float ก าหนดทศนยม 2 ต าแหนง หามมคาวาง - page ชนด INT เกบตวเลขสงสด 4 ตวเลข หามมคาวาง - writer ชนด varchar เกบจ านวน 70 ตวอกษร หามมคาวาง โดย barcode เปน primary Key

Sample1.php

<html> <body> <? $host="localhost"; $username=""; $password=""; $db="Cus_product"; $tb="Product"; $connect= mysql_connect( $host,$username,$password); if ( !$connect ) { echo "ตดตอกบฐานขอมล Mysql ไมได ";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

exit(); } else { /* สรางฐานขอมล */ $create_db = mysql_query("CREATE DATABASE $db")or die ("สรางฐานขอมลไมได"); if (!$create_db) { mysql_die(); } else { echo"<b>สรางฐานขอมลส าเรจ ชอฐานขอมล $db</b>"; } mysql_select_db($db) or die("เลอกฐานขอมลไมได"); /* ท าการเลอกฐานขอมลกอน */

/* สราง Tables */ $create_tb=mysql_query("CREATE TABLE $tb ( barcode int(7) NOT NULL, description varchar(50) NOT NULL, price float(10,2) DEFAULT '0.00' NOT NULL, page int(4) NOT NULL, writer varchar(70) NOT NULL, PRIMARY KEY (barcode) );") or die("<br>สรางตาราง $tb ไมส าเรจ ");

if (!$create_tb) { mysql_die(); } else {

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo"<br><b>สราง Table ส าเรจ ชอ $tb</b> "; } } mysql_close($connect); ?> </body> </html>

Out Put

ตอนท 5 การ Insert ขอมลลงตารางดวย Mysql,PHP

ใหสรางฐานขอมล Data_customer ดงตอไปน Create Database Data_customer;

เมอใชค าสง Show Databases; จะเหนชอฐานขอมลทเราสรางขนมา

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

และสราง Table cus_tomer ดงน

CREATE TABLE cus_tomer ( id int(6) NOT NULL, password varchar(30) NOT NULL, date varchar(30) NOT NULL, name varchar(30) NOT NULL, surname varchar(30) NOT NULL, email varchar(40) NOT NULL, tel varchar(30), address varchar(80) NOT NULL, PRIMARY KEY (id) );

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

เมอใชค าสง Show Tables; จะแสดงชอ Table และ ฐานขอมลทเราสรางออกมา

ค าสงการเพมขอมลลงใน Table ดวย Mysql

รปแบบ

Insert Into [Table-name](filed1,filed2,filed3,....,filedN) values ('value1','value2','value3',...,'valueN');

ตวอยาง

INSERT INTO cus_tomer (id, password, date, name, surname, email, tel, address) VALUES ('450001', '001', '15/10/45', 'werachai ', 'nukitram', 'is_asp@hotmil.com', '095827013', 'surin ')

เมอลองใชค าสง Select * From Cus_tomer; จะพบขอมลทเราได Insert ลงไป

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ค าสงการเพมขอมลลงใน Table ดวย ฟงกชน Mysql บน PHP

รปแบบกเหมอนบน Mysql ครบ มาดตวอยางกนหนอยครบ

Sample1.php

<html> <body> <? $host="localhost"; $username=""; $password=""; $db="Data_customer"; $tb="Cus_tomer"; $connect= mysql_connect( $host,$username,$password); if ( !$connect ) { echo "ตดตอกบฐานขอมล Mysql ไมได "; exit(); } else { mysql_select_db($db) or die("เลอกฐานขอมลไมได"); $insert_table=mysql_query("INSERT INTO $tb (id, password, date, name, surname, email, tel, address) values('450002', '002', '15/10/45', 'นายวระชย ', 'นกจรมย', 'is_asp@hotmil.com', '095827013', 'สรนทร ')") or die ("insert ขอมลลง Table ไมได "); if(!$insert_table) { mysql_die(); } else {

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo"<br>Insert ขอมลลง Tables เรยบรอยแลว"; } } mysql_close($connect); ?> </body> </html>

Out Put

เมอลองใชค าสง Select * From Cus_tomer; จะพบขอมลทเราได Insert ลงไป

ตอนท 6 การแสดงคณสมบตอน ๆ ของตาราง

ออกแบบฐานขอมลดงน Create Database Data_customer;

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

CREATE TABLE cus_tomer ( id int(6) NOT NULL, password varchar(30) NOT NULL, date varchar(30) NOT NULL, name varchar(30) NOT NULL, surname varchar(30) NOT NULL, email varchar(40) NOT NULL, tel varchar(30), address varchar(80) NOT NULL, PRIMARY KEY (id) ); Sample1.php เปนการแสดงชอ ตารางจากฐานขอมล

<html> <body> <? $host="localhost"; $username=""; $password=""; $db="Data_customer"; mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได ");

mysql_select_db($db) or die("เลอกฐานขอมลไมได"); /* ท าการเลอกฐานขอมลกอน */

$db_query=mysql_list_tables($db); /* ใชฟงกชน mysql_list_tables เพอหาตาราง */

$num_rows=mysql_numrows($db_query); /* นบจ านวนตารางทพบ */

echo" ฐานขอมล <b>$db</b> มตาราง <b>$num_rows</b> ตาราง ดงน <br>"; $a=0; while($a < $num_rows ) { $tb[$a]=mysql_tablename($db_query,$a);

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo"<br> $tb[$a]"; $a++; } mysql_close(); ?> </body> </html>

Out Put

Sample2.php เปนการแสดงชอ จ านวน และประเภทของ Fileds

<html> <body> <? $host="localhost"; $username=""; $password=""; $db="Data_customer"; $tb="Cus_tomer"; mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได ");

mysql_select_db($db) or die("เลอกฐานขอมลไมได"); /* ท าการเลอกฐานขอมลกอน */

$sql="Select * From $tb";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$db_query=mysql_db_query($db,$sql);

$num_fields=mysql_num_fields($db_query); /* นบ Fileds ทพบ */

echo" ตาราง <b>$tb</b> จ านวน Filed เทากบ <b>$num_fields</b> ดงน <br>"; $a=0; while($a < $num_fields ) { $fields_name[$a]=mysql_field_name($db_query,$a); $fields_type[$a]=mysql_field_type($db_query,$a); echo"<br><b> $fields_name[$a] </b> ชนดของขอมลเปน <b> $fields_type[$a] </b>"; $a++; } mysql_close(); ?> </body> </html>

Out Put

Sample3.php เปนการแสดงจ านวน Reccord ( ในฐานขอมล ผมไดท าการเพมขอมลเรยบรอยแลวครบ สามารถศกษาไดจากหวขอทผานมา )

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<html> <body> <? $host="localhost"; $username=""; $password=""; $db="Data_customer"; $tb="Cus_tomer"; mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได ");

mysql_select_db($db) or die("เลอกฐานขอมลไมได"); /* ท าการเลอกฐานขอมลกอน */

$sql="Select * From $tb";

$db_query=mysql_db_query($db,$sql);

$num_rows=mysql_num_rows($db_query); /* นบ Reccord ทพบ */

echo" ตาราง <b>$tb</b> จ านวน Reccord เทากบ <b>$num_rows</b><br>";

mysql_close(); ?> </body> </html>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ตอนท 7 การน าขอมลจากตารางมาแสดง

ออกแบบฐานขอมลดงน Create Database Data_customer; CREATE TABLE cus_tomer ( id int(6) NOT NULL, password varchar(30) NOT NULL, date varchar(30) NOT NULL, name varchar(30) NOT NULL, surname varchar(30) NOT NULL, email varchar(40) NOT NULL, tel varchar(30), address varchar(80) NOT NULL, PRIMARY KEY (id) );

Sample1.php

<html> <body> <? $host="localhost"; $username=""; $password=""; $db="Data_customer"; $tb="Cus_tomer"; mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได ");

mysql_select_db($db) or die("เลอกฐานขอมลไมได"); /* ท าการเลอกฐานขอมลกอน */

$sql="Select * From $tb";

$db_query=mysql_db_query($db,$sql);

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$num_rows=mysql_num_rows($db_query); /* นบ Reccord ทพบ */

?> <table width="91%" border="1" align="center"> <tr> <td width="8%"> <div align="center">Id</div> </td> <td width="11%"> <div align="center">Password</div> </td> <td width="10%"> <div align="center">Date</div> </td> <td width="12%"> <div align="center">name</div> </td> <td width="11%"> <div align="center">Surname</div> </td> <td width="25%"> <div align="center">email</div> </td> <td width="11%"> <div align="center">Tel</div> </td> <td width="12%"> <div align="center">Address</div> </td> </tr> </table> <?

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$a=0; while($a < $num_rows) { $result = mysql_fetch_array($db_query); $id=$result[id]; $password=$result[password]; $date=$result[date]; $name=$result[name]; $surname=$result[surname]; $email=$result[email]; $tel=$result[tel]; $address=$result[address]; ?> <table width="91%" border="1" align="center"> <tr> <td width="8%"> <div align="center"><?echo"$id";?></div> </td> <td width="11%"> <div align="center"> <?echo"$password";?> </div> </td> <td width="10%"> <?echo"$date";?> </td> <td width="12%"> <?echo"$name";?> </td> <td width="11%"> <?echo"$surname";?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

</td> <td width="25%"> <?echo"$email";?> </td> <td width="11%"> <?echo"$tel";?> </td> <td width="12%"> <?echo"$address";?> </td> </tr> </table> <? $a++; } echo"<center><br>จ านวน Reccord = $num_rows</center>"; mysql_close(); ?> </body> </html>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ตอนท 8 การเพมขอมลลงในตาราง

ออกแบบฐานขอมลดงน Create Database Data_customer; CREATE TABLE cus_tomer ( id int(6) NOT NULL, password varchar(30) NOT NULL, date varchar(30) NOT NULL, name varchar(30) NOT NULL, surname varchar(30) NOT NULL, email varchar(40) NOT NULL, tel varchar(30), address varchar(80) NOT NULL, PRIMARY KEY (id) );

ขนท 1 ออกแบบ From เพอรบคา

Sample1.php

<html> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="sample2.php"> <p>id <input type="text" name="id"> <br> password <input type="password" name="pass"> <br> date <input type="text" name="date"> <br> name

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<input type="text" name="name"> <br> surname <input type="text" name="surname"> <br> email <input type="text" name="email"> <br> tel <input type="text" name="tel"> <br> address <textarea name="address" cols="35" rows="4"></textarea> </p> <p> <input type="submit" name="Submit" value="บนทกขอมล"> <input type="reset" name="Submit2" value="Clear"> </p> </form> </body> </html>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put

ขนท 2 ออกแบบ From เพอบนทกขอมลลง Mysql

Sample2.php

<html> <body> <? $host="localhost"; $username=""; $password=""; $db="Data_customer"; $tb="Cus_tomer"; $connect= mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได ");

mysql_select_db($db) or die("เลอกฐานขอมลไมได");

$sql="select * from $tb where id=$id";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$db_query=mysql_db_query($db,$sql);

$num_rows=mysql_num_rows($db_query);

if($num_rows != 0) /* ตรวจสอบวา Id นมอยหรอยง */ { echo"<center><br>รหส Id นมอยแลว </center>"; exit(); } else { mysql_query("INSERT INTO $tb (id, password, date, name, surname, email, tel, address) values('$id', '$pass', '$date', '$name ', '$surname', '$email', '$tel', '$address ')") or die ("Add ขอมลลง Table ไมได "); echo "Add ขอมลลง Table เสรจเรยบรอยแลว "; } mysql_close($connect); ?> </body> </html>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

เมอลองใชค าสง Select * from Cus_tomer where id=450011; จะแสดงขอมลทเราไดท าการ add ลงไป

ตอนท 9 การคนหาขอมลจากตาราง

ออกแบบฐานขอมลดงน Create Database Data_customer; CREATE TABLE cus_tomer ( id int(6) NOT NULL, password varchar(30) NOT NULL, date varchar(30) NOT NULL, name varchar(30) NOT NULL, surname varchar(30) NOT NULL, email varchar(40) NOT NULL, tel varchar(30), address varchar(80) NOT NULL, PRIMARY KEY (id) );

Sample1.php

<html> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="sample1.php"> ชอทตองการคนหา

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<input type="text" name="keyword" value="<? echo"$keyword"; ?>"> จาก Filed <select name="fields"> <option value="<?echo "$fields"; ?>"><?echo "$fields"; ?></option> <option value="id">id</option> <option value="password">password</option> <option value="date">date</option> <option value="name">name</option> <option value="surname">surname</option> <option value="email">email</option> <option value="tel">tel</option> <option value="address">address</option> </select> <input type="submit" name="Submit" value="คนหา"> </form> <hr> <? if (empty($keyword) or empty($fields)) { echo"กรณาเลอกรายการคนหา ดวยครบ"; exit(); } else { $host="localhost"; $username=""; $password=""; $db="Data_customer"; $tb="Cus_tomer"; mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได ");

mysql_select_db($db) or die("เลอกฐานขอมลไมได"); /* ท าการเลอกฐานขอมลกอน */

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$sql="SELECT * FROM $tb where $fields like '%$keyword%'";

$db_query=mysql_db_query($db,$sql);

$num_rows=mysql_num_rows($db_query); /* นบ Reccord ทพบ */ if(empty($num_rows)) /* ตรวจสอบวามอยหรอยง */ { echo"<center><br>ไมพบขอมล <b>$keyword</b> จาก Filed <b>$fields <b> </center>"; exit(); } else { ?> <div align="center"><? echo " แสดงรายการคนหา <b>$keyword</b> จาก Field <b>$fields</b> พบ <b>$num_rows</b> Reccord "; ?><br><br> </div> <table width="91%" border="1" align="center"> <tr> <td width="8%"> <div align="center">Id</div> </td> <td width="11%"> <div align="center">Password</div> </td> <td width="10%"> <div align="center">Date</div> </td> <td width="12%"> <div align="center">name</div> </td> <td width="11%"> <div align="center">Surname</div>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

</td> <td width="25%"> <div align="center">email</div> </td> <td width="11%"> <div align="center">Tel</div> </td> <td width="12%"> <div align="center">Address</div> </td> </tr> </table> <?

$a=0; while($a < $num_rows) { $result = mysql_fetch_array($db_query); $id=$result[id]; $password=$result[password]; $date=$result[date]; $name=$result[name]; $surname=$result[surname]; $email=$result[email]; $tel=$result[tel]; $address=$result[address]; ?> <table width="91%" border="1" align="center"> <tr> <td width="8%"> <div align="center"><?echo"$id";?></div> </td>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<td width="11%"> <div align="center"> <?echo"$password";?> </div> </td> <td width="10%"> <?echo"$date";?> </td> <td width="12%"> <?echo"$name";?> </td> <td width="11%"> <?echo"$surname";?> </td> <td width="25%"> <?echo"$email";?> </td> <td width="11%"> <?echo"$tel";?> </td> <td width="12%"> <?echo"$address";?> </td> </tr> </table>

<? $a++; } }

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

} ?> </body> </html>

Out Put

ตอนท 10 การแกขอมลในตาราง

ออกแบบฐานขอมลดงน Create Database Data_customer; CREATE TABLE cus_tomer ( id int(6) NOT NULL, password varchar(30) NOT NULL, date varchar(30) NOT NULL, name varchar(30) NOT NULL, surname varchar(30) NOT NULL,

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

email varchar(40) NOT NULL, tel varchar(30), address varchar(80) NOT NULL, PRIMARY KEY (id) ); ขนท 1 เราตองออกแบบ From ใวส าหรบเลอกขอมลทจะแกไข อาจจะมาจากการ แสดงขอมลทงหมด จากการคนหา หรอ อน ๆ แตในตวอยางนผมไดออกแบบมากจากการคนหา

Sample1.php

<html> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="sample1.php"> ชอทตองการคนหา <input type="text" name="keyword" value="<? echo"$keyword"; ?>"> จาก Filed <select name="fields"> <option value="<?echo "$fields"; ?>"> <?echo "$fields"; ?> </option> <option value="id">id</option> <option value="password">password</option> <option value="date">date</option> <option value="name">name</option> <option value="surname">surname</option> <option value="email">email</option> <option value="tel">tel</option> <option value="address">address</option> </select> <input type="submit" name="Submit" value="คนหา"> </form> <hr>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<? if (empty($keyword) or empty($fields)) { echo"กรณาเลอกรายการคนหา ดวยครบ"; exit(); } else { $host="localhost"; $username=""; $password=""; $db="Data_customer"; $tb="Cus_tomer"; mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได ");

mysql_select_db($db) or die("เลอกฐานขอมลไมได"); /* ท าการเลอกฐานขอมลกอน */

$sql="SELECT * FROM $tb where $fields like '%$keyword%'";

$db_query=mysql_db_query($db,$sql);

$num_rows=mysql_num_rows($db_query); /* นบ Reccord ทพบ */ if(empty($num_rows)) /* ตรวจสอบวามอยหรอยง */ { echo"<center><br>ไมพบขอมล <b>$keyword</b> จาก Filed <b>$fields <b> </center>"; exit(); } else { ?> <div align="center"> <? echo " แสดงรายการคนหา <b>$keyword</b> จาก Filed <b>$fields</b> พบ <b>$num_rows</b> Reccord "; ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<br> <br> </div> <table width="91%" border="1" align="center"> <tr> <td width="8%"> <div align="center">Id</div> </td> <td width="9%"> <div align="center">Password</div> </td> <td width="10%"> <div align="center">Date</div> </td> <td width="13%"> <div align="center">name</div> </td> <td width="12%"> <div align="center">Surname</div> </td> <td width="20%"> <div align="center">email</div> </td> <td width="12%"> <div align="center">Tel</div> </td> <td width="12%"> <div align="center">Address</div> </td> <td width="4%"> <div align="center">edit</div>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

</td> </tr> </table> <?

$a=0; while($a < $num_rows) { $result = mysql_fetch_array($db_query); $id=$result[id]; $password=$result[password]; $date=$result[date]; $name=$result[name]; $surname=$result[surname]; $email=$result[email]; $tel=$result[tel]; $address=$result[address]; ?> <table width="91%" border="1" align="center"> <tr> <td width="8%"> <div align="center"> <?echo"$id";?> </div> </td> <td width="9%"> <div align="center"> <?echo"$password";?> </div> </td> <td width="10%"> <?echo"$date";?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

</td> <td width="13%"> <?echo"$name";?> </td> <td width="12%"> <?echo"$surname";?> </td> <td width="20%"> <?echo"$email";?> </td> <td width="12%"> <?echo"$tel";?> </td> <td width="12%"> <?echo"$address";?> </td> <td width="4%"> <div align="center"><a href="Sample2.php?id=<?echo"$id"; ?>">edit</a></div> </td> </tr> </table> <? $a++; } }

} ?> </body> </html>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put

ขนท 2 ท า From เพอรบคาทจะแกไข Sample2.php

<html> <body bgcolor="#FFFFFF"> <? $host="localhost"; $username=""; $password=""; $db="Data_customer"; $tb="Cus_tomer"; $connect= mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได ");

mysql_select_db($db) or die("เลอกฐานขอมลไมได");

$sql="select * from $tb where id=$id";

$db_query=mysql_db_query($db,$sql);

$result = mysql_fetch_array($db_query); $id=$result[id]; $password=$result[password]; $date=$result[date]; $name=$result[name]; $surname=$result[surname];

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$email=$result[email]; $tel=$result[tel]; $address=$result[address];

?> <form name="form1" method="post" action="sample3.php"> <p>แกไขขอมล<br> id <?echo"<b>$id</b>";?> <input type="hidden" name="id" value="<? echo"$id"; ?>"> <br> password <input type="password" name="pass" value="<? echo"$password";?>"> <br> date <input type="text" name="date" value="<? echo"$date";?>"> <br> name <input type="text" name="name" value="<? echo"$name";?>"> <br> surname <input type="text" name="surname" value="<? echo"$surname";?>"> <br> email <input type="text" name="email" value="<? echo"$email";?>"> <br> tel <input type="text" name="tel" value="<? echo"$tel";?>"> <br> address <textarea name="address" cols="35" rows="4"><? echo"$address";?></textarea> </p>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<p> <input type="submit" name="Submit" value="บนทกขอมล"> <input type="reset" name="Submit2" value="Clear"> </p> </form> <? mysql_close($connect); ?> </body> </html>

Out Put

ขนท 3 ท า From เพอแกไขขอมล

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Sample3.php

<? $host="localhost"; $username=""; $password=""; $db="Data_customer"; $tb="Cus_tomer"; $connect= mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได ");

mysql_select_db($db) or die("เลอกฐานขอมลไมได");

$sql="update $tb set password='$pass',date='$date',name='$name',surname='$surname',email='$email',tel='$tel',address='$address' where id=$id";

$db_query=mysql_db_query($db,$sql);

echo "แกไขขอมล Id=$id เรยบรอยแลว ";

mysql_close();

?>

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ตอนท 11 การลบขอมลในตางราง

ออกแบบฐานขอมลดงน Create Database Data_customer; CREATE TABLE cus_tomer ( id int(6) NOT NULL, password varchar(30) NOT NULL, date varchar(30) NOT NULL, name varchar(30) NOT NULL, surname varchar(30) NOT NULL, email varchar(40) NOT NULL, tel varchar(30), address varchar(80) NOT NULL, PRIMARY KEY (id) );

ขนท 1 ท า From เพอ เลอกรายการทจะลบ Sample1.php <html> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="sample1.php"> ชอทตองการคนหา <input type="text" name="keyword" value="<? echo"$keyword"; ?>"> จาก Filed <select name="fields"> <option value="<?echo "$fields"; ?>"> <?echo "$fields"; ?> </option> <option value="id">id</option> <option value="password">password</option> <option value="date">date</option> <option value="name">name</option>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<option value="surname">surname</option> <option value="email">email</option> <option value="tel">tel</option> <option value="address">address</option> </select> <input type="submit" name="Submit" value="คนหา"> </form> <hr> <? if ($keyword=="" || $fields=="") { echo"กรณาเลอกรายการคนหา ดวยครบ"; exit(); } else { $host="localhost"; $username=""; $password=""; $db="Data_customer"; $tb="Cus_tomer"; mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได ");

mysql_select_db($db) or die("เลอกฐานขอมลไมได"); /* ท าการเลอกฐานขอมลกอน */

$sql="SELECT * FROM $tb where $fields like '%$keyword%' order by id ASC";

$db_query=mysql_db_query($db,$sql);

$num_rows=mysql_num_rows($db_query); /* นบ Reccord ทพบ */ if(empty($num_rows)) /* ตรวจสอบวามอยหรอยง */ { echo"<center><br>ไมพบขอมล <b>$keyword</b> จาก Filed <b>$fields <b> </center>";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

exit(); } else { ?> <div align="center"> <? echo " แสดงรายการคนหา <b>$keyword</b> จาก Filed <b>$fields</b> พบ <b>$num_rows</b> Reccord "; ?> <br> <br> </div> <table width="91%" border="1" align="center"> <tr> <td width="8%"> <div align="center">Id</div> </td> <td width="9%"> <div align="center">Password</div> </td> <td width="10%"> <div align="center">Date</div> </td> <td width="13%"> <div align="center">name</div> </td> <td width="12%"> <div align="center">Surname</div> </td> <td width="20%"> <div align="center">email</div> </td>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<td width="12%"> <div align="center">Tel</div> </td> <td width="12%"> <div align="center">Address</div> </td> <td width="4%"> <div align="center">ลบ</div> </td> </tr> </table> <?

$a=0; while($a < $num_rows) { $result = mysql_fetch_array($db_query); $id=$result[id]; $password=$result[password]; $date=$result[date]; $name=$result[name]; $surname=$result[surname]; $email=$result[email]; $tel=$result[tel]; $address=$result[address]; ?> <table width="91%" border="1" align="center"> <tr> <td width="8%"> <div align="center"> <?echo"$id";?> </div>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

</td> <td width="9%"> <div align="center"> <?echo"$password";?> </div> </td> <td width="10%"> <?echo"$date";?> </td> <td width="13%"> <?echo"$name";?> </td> <td width="12%"> <?echo"$surname";?> </td> <td width="20%"> <?echo"$email";?> </td> <td width="12%"> <?echo"$tel";?> </td> <td width="12%"> <?echo"$address";?> </td> <td width="4%"> <div align="center"><a href="Sample2.php?id=<?echo"$id"; ?>">ลบ</a></div> </td> </tr> </table> <? $a++;

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

} }

} ?> </body> </html>

Out Put

ขนท 2 ออกแบบ From เพอลบขอมล

Sample2.php

<? $host="localhost"; $username=""; $password=""; $db="Data_customer"; $tb="Cus_tomer"; $connect= mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได ");

mysql_select_db($db) or die("เลอกฐานขอมลไมได");

$sql="delete from $tb where id=$id";

$db_query=mysql_db_query($db,$sql);

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

echo "ลบขอมล Id=$id เรยบรอยแลว ";

mysql_close();

?>

Out Put

ตอนท 12 Require เพอใชในการตดตอกบฐานขอมล

หากเราเขยนโปรแกรมทมขนาดใหญ ๆ และหลาย ๆ หนา และทก ๆ หนามการ เรยกใชงาน ฐานขอมล ราจะตองเขยนค าสงทมการตดตอกบฐานขอมลทก ๆ หนาทมการเรยกใชงานซงไมมความจ าเปนอะไรเลยทเราจะตองท าแบบนน เพราะมนจะเปนการยงยากเมอเราไดท าการเปลยนแปลงโครงสรางในการตดตอฐานขอมล จะตองตามแกไปทก ๆ หนาซงเปนปญหาทผมกเคยเจอเหมอนกน แต php ไดเตยมฟงกชน Require ใวส าหรบปญหานแลวครบ

ในหวขอนเราจะไดศกษาเพอการน าไปใชงานจรงครบ

รปแบบ

Require('file-dbconnect');

ออกแบบฐานขอมลดงน Create Database Data_customer; CREATE TABLE cus_tomer ( id int(6) NOT NULL, password varchar(30) NOT NULL, date varchar(30) NOT NULL, name varchar(30) NOT NULL,

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

surname varchar(30) NOT NULL, email varchar(40) NOT NULL, tel varchar(30), address varchar(80) NOT NULL, PRIMARY KEY (id) );

ขนท 1 สรางไฟลทมค าสงตดตอกบฐานขอมล ในทนผมสรางชอเปน dbconnect.php

dbconnect.php

<? $host="localhost"; $username=""; $password=""; $db="Data_customer"; $tb="Cus_tomer"; mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได "); mysql_select_db($db) or die("เลอกฐานขอมลไมได"); ?>

ขนท 2 จะเปนการน าไปใชงาน เชมตองการแสดงฐานขอมลจากฐานขอมล

Sample1.php

<html> <body> <? Require('dbconnect.php');

$sql="Select * From $tb";

$db_query=mysql_db_query($db,$sql);

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$num_rows=mysql_num_rows($db_query); /* นบ Reccord ทพบ */

?> <table width="91%" border="1" align="center"> <tr> <td width="8%"> <div align="center">Id</div> </td> <td width="11%"> <div align="center">Password</div> </td> <td width="10%"> <div align="center">Date</div> </td> <td width="12%"> <div align="center">name</div> </td> <td width="11%"> <div align="center">Surname</div> </td> <td width="25%"> <div align="center">email</div> </td> <td width="11%"> <div align="center">Tel</div> </td> <td width="12%"> <div align="center">Address</div> </td> </tr> </table> <?

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$a=0; while($a < $num_rows) { $result = mysql_fetch_array($db_query); $id=$result[id]; $password=$result[password]; $date=$result[date]; $name=$result[name]; $surname=$result[surname]; $email=$result[email]; $tel=$result[tel]; $address=$result[address]; ?> <table width="91%" border="1" align="center"> <tr> <td width="8%"> <div align="center"><?echo"$id";?></div> </td> <td width="11%"> <div align="center"> <?echo"$password";?> </div> </td> <td width="10%"> <?echo"$date";?> </td> <td width="12%"> <?echo"$name";?> </td> <td width="11%"> <?echo"$surname";?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

</td> <td width="25%"> <?echo"$email";?> </td> <td width="11%"> <?echo"$tel";?> </td> <td width="12%"> <?echo"$address";?> </td> </tr> </table> <? $a++; } echo"<center><br>จ านวน Reccord = $num_rows</center>"; mysql_close(); ?> </body> </html

Out Put

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

ตอนท 13 การแสดงผลขอมลแบงออกเปนหนา ๆ

ออกแบบฐานขอมลดงน Create Database member; CREATE TABLE member ( id int(4) NOT NULL auto_increment, user varchar(30) NOT NULL, name varchar(50) NOT NULL, email varchar(50) NOT NULL, tel varchar(50) NOT NULL, PRIMARY KEY (id) ); Sample1.php <html> <head> <body bgcolor="#FFFFFF"> <br> <table width="72%" border="1" align="center" cellspacing="0" cellpadding="0" height="23"> <tr> <td width="8%"> <div align="center">id</div> </td> <td width="14%"> <div align="center">user</div> </td> <td width="30%"> <div align="center">name</div> </td> <td width="26%"> <div align="center">email</div> </td> <td width="22%">

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

<div align="center">tel</div> </td> </tr> </table> <? $host="localhost"; $username=""; $pass_word=""; $db="member"; mysql_connect( $host,$username,$pass_word) or die ("ตดตอกบฐานขอมล Mysql ไมได "); mysql_select_db($db) or die("เลอกฐานขอมลไมได");

$sql = "select * From member "; /* ตงคา แสดงผลตอหนา $Per_Page */

$Per_Page =2; if(!$Page) $Page=1;

$Prev_Page = $Page-1; $Next_Page = $Page+1;

$result = mysql_query($sql); $Page_start = ($Per_Page*$Page)-$Per_Page; $Num_Rows = mysql_num_rows($result);

if($Num_Rows<=$Per_Page) $Num_Pages =1; else if(($Num_Rows % $Per_Page)==0) $Num_Pages =($Num_Rows/$Per_Page) ; else $Num_Pages =($Num_Rows/$Per_Page) +1;

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$Num_Pages = (int)$Num_Pages;

if(($Page>$Num_Pages) || ($Page<0)) print "<center><b>จ านวน $Page มากกวา $Num_Pages ยงไมมขอความ<b></center>"; $sql .= " Where 1 Order by id Desc LIMIT $Page_start , $Per_Page"; //สวนแสดงผล $result = mysql_query($sql); While($row= mysql_fetch_array($result)){ $id = $row["id"]; $user = $row["user"]; $name = $row["name"]; $email = $row["email"]; $tel = $row["tel"]; ?> <table width="72%" border="1" align="center" cellspacing="0" cellpadding="0" height="23"> <tr> <td width="8%"> <div align="center"> <?= $id;?> </div> </td> <td width="14%"> <?= $user;?> </td> <td width="30%"> <?= $name;?> </td> <td width="27%"> <?= $email;?> </td> <td width="21%"> <?= $tel;?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

</td> </tr> </table> <?}?> <div align="center"><br> มจ านวน Recored ทงหมด <?= $Num_Rows;?> รวมทงหมด : <b> <?=$Num_Pages;?> </b> หนา : <?/* สรางปมยอนกลบ */ if($Prev_Page) echo " <a href='$PHP_SELF?Page=$Prev_Page'><< ยอนกลบ </a>"; for($i=1; $i<$Num_Pages; $i++){ if($i != $Page) echo "[<a href='$PHP_SELF?Page=$i'>$i</a>]"; else echo "<b> $i </b>"; } /*สรางปมเดนหนา */ if($Page!=$Num_Pages) echo "<a href ='$PHP_SELF?Page=$Next_Page'> หนาถดไป>> </a>"; ?> </div> </body> </html

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Out Put

ตอนท 14 การ uploads รปภาพลงฐานขอมล Mysql

ออกแบบฐานขอมลดงน Create Database picture; CREATE TABLE picture ( id int(3) NOT NULL auto_increment, images longblob NOT NULL, PRIMARY KEY (id) );

ขนท 1 ท า From เพอ เลอกไฟลทจะ uploads Sample1.php <html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> <style type="text/css"> <!-- body { margin: 0px 0px; padding: 0px 0px} a:link { color: #005CA2; text-decoration: none} a:visited { color: #005CA2; text-decoration: none} a:active { color: #0099FF; text-decoration: underline}

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

a:hover { color: #0099FF; text-decoration: underline} --> </style> </head> <body bgcolor="#FFFFFF"> <br> <form method="POST" action="sample2.php" enctype ="multipart/form-data"> <font face="MS Sans Serif" size="2"> แกไข Logo</font> <input type="file" name="files"> <input type="submit" name="Submit" value="uploads"> </form> </body> </html>

Out Put

ขนท 2 ออกแบบ From เพอ uploads ไฟล

Sample2.php

<? $host="localhost"; $username=""; $pass_word=""; $db="picture"; mysql_connect( $host,$username,$pass_word) or die ("ตดตอกบฐานขอมล Mysql ไมได "); mysql_select_db($db) or die("เลอกฐานขอมลไมได");

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$filename =$HTTP_POST_FILES['files']['name']; $filetempname =$HTTP_POST_FILES['files']['tmp_name']; $filesize =$HTTP_POST_FILES['files']['size']; $fp = fopen($filetempname,"r"); $data = fread($fp,filesize($filetempname)); fclose($fp); $data = addslashes($data); $sql="insert into picture(images) values ('$data')"; $db_query=mysql_db_query($db,$sql); echo"Uploads รปภาพเรยบรอยแลว"; ?>

Out Put

ขนท 3 ออกแบบ From เพอ ดงรปภาพมาแสดง

<? $host="localhost"; $username=""; $pass_word=""; $db="picture"; mysql_connect( $host,$username,$pass_word) or die ("ตดตอกบฐานขอมล Mysql ไมได "); mysql_select_db($db) or die("เลอกฐานขอมลไมได"); $sql = "select * from picture where id=1"; // หากตองการดงเฉพาะ Reccord ใด Record หนง ใหใชค าสง where id='$ตวแปร' $result = mysql_query($sql) or die("ไมสามารถ query ขอมลได");

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$images = mysql_fetch_array($result); echo $images['images'] ?>

Sample3.php

การสราง Function เพอลดปรมาณการเขยน Coding

เปนการสราง Function เพอลดปรมาณการเขยน Coding มาดตวอยางกนหนอยนะครบ ชอฐานขอมล mydatabase

รายละเอยดของ Table

CREATE TABLE color ( color_no int(2) NOT NULL default '0',

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

color_name varchar(10) NOT NULL default '' ) TYPE=MyISAM;

INSERT INTO color VALUES (1, 'สด า'); INSERT INTO color VALUES (13, 'สครม'); INSERT INTO color VALUES (2, 'สขาว'); INSERT INTO color VALUES (3, 'สฟา'); INSERT INTO color VALUES (4, 'สชมพ'); INSERT INTO color VALUES (5, 'สเหลอง'); INSERT INTO color VALUES (6, 'สเขยว'); INSERT INTO color VALUES (7, 'สน าตาล'); INSERT INTO color VALUES (8, 'สสม'); INSERT INTO color VALUES (9, 'สน าเงน'); INSERT INTO color VALUES (10, 'สแดง'); INSERT INTO color VALUES (11, 'สเทา'); INSERT INTO color VALUES (12, 'สมวง'); connect.php

<? $host="localhost"; $username=""; $pass_word=""; $db="mydatabase"; $tb="color"; mysql_connect( $host,$username,$pass_word) or die ("ตดตอกบฐานขอมล Mysql ไมได "); mysql_select_db($db) or die("เลอกฐานขอมลไมได"); ?> function.php <? //============== insert ============== function insert($field,$value,$table) {

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$sql = "INSERT INTO $table ($field) VALUES ($value)"; $result= mysql_query($sql); return $result; }

//============== delete ============== function delete($table,$condition) { $sql ="delete from $table $condition"; $re = mysql_query($sql); return $result; } //=============== update ================== function update($table,$command,$condition) { $sql = "UPDATE $table SET $command $condition"; $result = mysql_query($sql); return $result; }

//=============== select ================== function select($table,$condition) { $sql = "select * from $table $condition"; $dbquery = mysql_query($sql); $result= mysql_fetch_array($dbquery); return $result; }

//=============== Numrow ================== function num_record($table,$condition) {

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$sql = "select * from $table $condition"; $dbquery = mysql_query($sql); $num_rows = mysql_num_rows($dbquery); return $num_rows; }

//=============== Math Value================= function math($MathRex,$field,$table,$condition) { $sql = "select $MathRex($field) as $field from $table $condition"; $dbquery = mysql_query($sql); $result= mysql_fetch_array($dbquery); $value=$result[$field]; return $value; }

?> Sample1.php ( Insert Record ) <? require("connect.php"); require("function.php"); insert("color_no,color_name","'14','เขยนออน'","color"); ?> Sample2.php ( Update Record ) <? require("connect.php"); require("function.php"); update("color","color_no='15',color_name='ด า ด า'","where color_no='14'"); ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Sample3.php ( Select Record )

<? require("connect.php"); require("function.php"); $result=select("color","where color_no='15'"); echo $result["color_name"]; ?>

Sample4.php ( Delete Record )

<? require("connect.php"); require("function.php"); delete("color","where color_no='15'"); ?> Sample5.php ( Num Record )

<? require("connect.php"); require("function.php"); $result=num_record("color","where 1"); echo $result; ?> Sample6.php ( Math Value คาทางคณตศาสตร เชน max,min,sum,count,avg,cos,sin)

<? require("connect.php"); require("function.php"); $result=math("sum","color_no","color","where 1"); echo $result; ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

เทคนคเลก ๆ นอย ๆ ผมไมหวงครบ เอาไปใชกนตามสบายเลยครบ

การสราง Function เพอลดปรมาณการเขยน Coding

เปนการสราง Function เพอลดปรมาณการเขยน Coding มาดตวอยางกนหนอยนะครบ ชอฐานขอมล mydatabase

รายละเอยดของ Table

CREATE TABLE color ( color_no int(2) NOT NULL default '0', color_name varchar(10) NOT NULL default '' ) TYPE=MyISAM;

INSERT INTO color VALUES (1, 'สด า'); INSERT INTO color VALUES (13, 'สครม'); INSERT INTO color VALUES (2, 'สขาว'); INSERT INTO color VALUES (3, 'สฟา'); INSERT INTO color VALUES (4, 'สชมพ'); INSERT INTO color VALUES (5, 'สเหลอง'); INSERT INTO color VALUES (6, 'สเขยว'); INSERT INTO color VALUES (7, 'สน าตาล'); INSERT INTO color VALUES (8, 'สสม'); INSERT INTO color VALUES (9, 'สน าเงน'); INSERT INTO color VALUES (10, 'สแดง'); INSERT INTO color VALUES (11, 'สเทา'); INSERT INTO color VALUES (12, 'สมวง'); connect.php

<? $host="localhost"; $username=""; $pass_word="";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$db="mydatabase"; $tb="color"; mysql_connect( $host,$username,$pass_word) or die ("ตดตอกบฐานขอมล Mysql ไมได "); mysql_select_db($db) or die("เลอกฐานขอมลไมได"); ?> function.php <? //============== insert ============== function insert($field,$value,$table) { $sql = "INSERT INTO $table ($field) VALUES ($value)"; $result= mysql_query($sql); return $result; }

//============== delete ============== function delete($table,$condition) { $sql ="delete from $table $condition"; $re = mysql_query($sql); return $result; } //=============== update ================== function update($table,$command,$condition) { $sql = "UPDATE $table SET $command $condition"; $result = mysql_query($sql); return $result; }

//=============== select ================== function select($table,$condition)

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

{ $sql = "select * from $table $condition"; $dbquery = mysql_query($sql); $result= mysql_fetch_array($dbquery); return $result; }

//=============== Numrow ================== function num_record($table,$condition) { $sql = "select * from $table $condition"; $dbquery = mysql_query($sql); $num_rows = mysql_num_rows($dbquery); return $num_rows; }

//=============== Math Value================= function math($MathRex,$field,$table,$condition) { $sql = "select $MathRex($field) as $field from $table $condition"; $dbquery = mysql_query($sql); $result= mysql_fetch_array($dbquery); $value=$result[$field]; return $value; }

?> Sample1.php ( Insert Record ) <? require("connect.php"); require("function.php"); insert("color_no,color_name","'14','เขยนออน'","color");

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

?> Sample2.php ( Update Record ) <? require("connect.php"); require("function.php"); update("color","color_no='15',color_name='ด า ด า'","where color_no='14'"); ?>

Sample3.php ( Select Record )

<? require("connect.php"); require("function.php"); $result=select("color","where color_no='15'"); echo $result["color_name"]; ?>

Sample4.php ( Delete Record )

<? require("connect.php"); require("function.php"); delete("color","where color_no='15'"); ?> Sample5.php ( Num Record )

<? require("connect.php"); require("function.php"); $result=num_record("color","where 1"); echo $result; ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Sample6.php ( Math Value คาทางคณตศาสตร เชน max,min,sum,count,avg,cos,sin)

<? require("connect.php"); require("function.php"); $result=math("sum","color_no","color","where 1"); echo $result; ?>

เทคนคเลก ๆ นอย ๆ ผมไมหวงครบ เอาไปใชกนตามสบายเลยครบ

การสราง Function เพอลดปรมาณการเขยน Coding

เปนการสราง Function เพอลดปรมาณการเขยน Coding มาดตวอยางกนหนอยนะครบ ชอฐานขอมล mydatabase

รายละเอยดของ Table

CREATE TABLE color ( color_no int(2) NOT NULL default '0', color_name varchar(10) NOT NULL default '' ) TYPE=MyISAM;

INSERT INTO color VALUES (1, 'สด า'); INSERT INTO color VALUES (13, 'สครม'); INSERT INTO color VALUES (2, 'สขาว'); INSERT INTO color VALUES (3, 'สฟา'); INSERT INTO color VALUES (4, 'สชมพ'); INSERT INTO color VALUES (5, 'สเหลอง'); INSERT INTO color VALUES (6, 'สเขยว'); INSERT INTO color VALUES (7, 'สน าตาล'); INSERT INTO color VALUES (8, 'สสม'); INSERT INTO color VALUES (9, 'สน าเงน');

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

INSERT INTO color VALUES (10, 'สแดง'); INSERT INTO color VALUES (11, 'สเทา'); INSERT INTO color VALUES (12, 'สมวง'); connect.php

<? $host="localhost"; $username=""; $pass_word=""; $db="mydatabase"; $tb="color"; mysql_connect( $host,$username,$pass_word) or die ("ตดตอกบฐานขอมล Mysql ไมได "); mysql_select_db($db) or die("เลอกฐานขอมลไมได"); ?> function.php <? //============== insert ============== function insert($field,$value,$table) { $sql = "INSERT INTO $table ($field) VALUES ($value)"; $result= mysql_query($sql); return $result; }

//============== delete ============== function delete($table,$condition) { $sql ="delete from $table $condition"; $re = mysql_query($sql); return $result; }

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

//=============== update ================== function update($table,$command,$condition) { $sql = "UPDATE $table SET $command $condition"; $result = mysql_query($sql); return $result; }

//=============== select ================== function select($table,$condition) { $sql = "select * from $table $condition"; $dbquery = mysql_query($sql); $result= mysql_fetch_array($dbquery); return $result; }

//=============== Numrow ================== function num_record($table,$condition) { $sql = "select * from $table $condition"; $dbquery = mysql_query($sql); $num_rows = mysql_num_rows($dbquery); return $num_rows; }

//=============== Math Value================= function math($MathRex,$field,$table,$condition) { $sql = "select $MathRex($field) as $field from $table $condition"; $dbquery = mysql_query($sql);

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$result= mysql_fetch_array($dbquery); $value=$result[$field]; return $value; }

?> Sample1.php ( Insert Record ) <? require("connect.php"); require("function.php"); insert("color_no,color_name","'14','เขยนออน'","color"); ?> Sample2.php ( Update Record ) <? require("connect.php"); require("function.php"); update("color","color_no='15',color_name='ด า ด า'","where color_no='14'"); ?>

Sample3.php ( Select Record )

<? require("connect.php"); require("function.php"); $result=select("color","where color_no='15'"); echo $result["color_name"]; ?>

Sample4.php ( Delete Record )

<? require("connect.php"); require("function.php");

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

delete("color","where color_no='15'"); ?> Sample5.php ( Num Record )

<? require("connect.php"); require("function.php"); $result=num_record("color","where 1"); echo $result; ?> Sample6.php ( Math Value คาทางคณตศาสตร เชน max,min,sum,count,avg,cos,sin)

<? require("connect.php"); require("function.php"); $result=math("sum","color_no","color","where 1"); echo $result; ?>

เทคนคเลก ๆ นอย ๆ ผมไมหวงครบ เอาไปใชกนตามสบายเลยครบ

การสราง Function เพอลดปรมาณการเขยน Coding

เปนการสราง Function เพอลดปรมาณการเขยน Coding มาดตวอยางกนหนอยนะครบ ชอฐานขอมล mydatabase

รายละเอยดของ Table

CREATE TABLE color ( color_no int(2) NOT NULL default '0', color_name varchar(10) NOT NULL default '' ) TYPE=MyISAM;

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

INSERT INTO color VALUES (1, 'สด า'); INSERT INTO color VALUES (13, 'สครม'); INSERT INTO color VALUES (2, 'สขาว'); INSERT INTO color VALUES (3, 'สฟา'); INSERT INTO color VALUES (4, 'สชมพ'); INSERT INTO color VALUES (5, 'สเหลอง'); INSERT INTO color VALUES (6, 'สเขยว'); INSERT INTO color VALUES (7, 'สน าตาล'); INSERT INTO color VALUES (8, 'สสม'); INSERT INTO color VALUES (9, 'สน าเงน'); INSERT INTO color VALUES (10, 'สแดง'); INSERT INTO color VALUES (11, 'สเทา'); INSERT INTO color VALUES (12, 'สมวง'); connect.php

<? $host="localhost"; $username=""; $pass_word=""; $db="mydatabase"; $tb="color"; mysql_connect( $host,$username,$pass_word) or die ("ตดตอกบฐานขอมล Mysql ไมได "); mysql_select_db($db) or die("เลอกฐานขอมลไมได"); ?> function.php <? //============== insert ============== function insert($field,$value,$table) { $sql = "INSERT INTO $table ($field) VALUES ($value)"; $result= mysql_query($sql);

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

return $result; }

//============== delete ============== function delete($table,$condition) { $sql ="delete from $table $condition"; $re = mysql_query($sql); return $result; } //=============== update ================== function update($table,$command,$condition) { $sql = "UPDATE $table SET $command $condition"; $result = mysql_query($sql); return $result; }

//=============== select ================== function select($table,$condition) { $sql = "select * from $table $condition"; $dbquery = mysql_query($sql); $result= mysql_fetch_array($dbquery); return $result; }

//=============== Numrow ================== function num_record($table,$condition) { $sql = "select * from $table $condition"; $dbquery = mysql_query($sql);

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$num_rows = mysql_num_rows($dbquery); return $num_rows; }

//=============== Math Value================= function math($MathRex,$field,$table,$condition) { $sql = "select $MathRex($field) as $field from $table $condition"; $dbquery = mysql_query($sql); $result= mysql_fetch_array($dbquery); $value=$result[$field]; return $value; }

?> Sample1.php ( Insert Record ) <? require("connect.php"); require("function.php"); insert("color_no,color_name","'14','เขยนออน'","color"); ?> Sample2.php ( Update Record ) <? require("connect.php"); require("function.php"); update("color","color_no='15',color_name='ด า ด า'","where color_no='14'"); ?>

Sample3.php ( Select Record )

<? require("connect.php"); require("function.php");

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$result=select("color","where color_no='15'"); echo $result["color_name"]; ?>

Sample4.php ( Delete Record )

<? require("connect.php"); require("function.php"); delete("color","where color_no='15'"); ?> Sample5.php ( Num Record )

<? require("connect.php"); require("function.php"); $result=num_record("color","where 1"); echo $result; ?> Sample6.php ( Math Value คาทางคณตศาสตร เชน max,min,sum,count,avg,cos,sin)

<? require("connect.php"); require("function.php"); $result=math("sum","color_no","color","where 1"); echo $result; ?>

การสราง Function เพอลดปรมาณการเขยน Coding

เปนการสราง Function เพอลดปรมาณการเขยน Coding ชอฐานขอมล mydatabase

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

รายละเอยดของ Table

CREATE TABLE color ( color_no int(2) NOT NULL default '0', color_name varchar(10) NOT NULL default '' ) TYPE=MyISAM;

INSERT INTO color VALUES (1, 'สด า'); INSERT INTO color VALUES (13, 'สครม'); INSERT INTO color VALUES (2, 'สขาว'); INSERT INTO color VALUES (3, 'สฟา'); INSERT INTO color VALUES (4, 'สชมพ'); INSERT INTO color VALUES (5, 'สเหลอง'); INSERT INTO color VALUES (6, 'สเขยว'); INSERT INTO color VALUES (7, 'สน าตาล'); INSERT INTO color VALUES (8, 'สสม'); INSERT INTO color VALUES (9, 'สน าเงน'); INSERT INTO color VALUES (10, 'สแดง'); INSERT INTO color VALUES (11, 'สเทา'); INSERT INTO color VALUES (12, 'สมวง'); connect.php

<? $host="localhost"; $username=""; $pass_word=""; $db="mydatabase"; $tb="color"; mysql_connect( $host,$username,$pass_word) or die ("ตดตอกบฐานขอมล Mysql ไมได "); mysql_select_db($db) or die("เลอกฐานขอมลไมได"); ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

function.php <? //============== insert ============== function insert($field,$value,$table) { $sql = "INSERT INTO $table ($field) VALUES ($value)"; $result= mysql_query($sql); return $result; }

//============== delete ============== function delete($table,$condition) { $sql ="delete from $table $condition"; $re = mysql_query($sql); return $result; } //=============== update ================== function update($table,$command,$condition) { $sql = "UPDATE $table SET $command $condition"; $result = mysql_query($sql); return $result; }

//=============== select ================== function select($table,$condition) { $sql = "select * from $table $condition"; $dbquery = mysql_query($sql); $result= mysql_fetch_array($dbquery);

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

return $result; }

//=============== Numrow ================== function num_record($table,$condition) { $sql = "select * from $table $condition"; $dbquery = mysql_query($sql); $num_rows = mysql_num_rows($dbquery); return $num_rows; }

//=============== Math Value================= function math($MathRex,$field,$table,$condition) { $sql = "select $MathRex($field) as $field from $table $condition"; $dbquery = mysql_query($sql); $result= mysql_fetch_array($dbquery); $value=$result[$field]; return $value; }

?>

Sample1.php ( Insert Record ) <? require("connect.php"); require("function.php"); insert("color_no,color_name","'14','เขยนออน'","color"); ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Sample2.php ( Update Record ) <? require("connect.php"); require("function.php"); update("color","color_no='15',color_name='ด า ด า'","where color_no='14'"); ?> Sample3.php ( Select Record )

<? require("connect.php"); require("function.php"); $result=select("color","where color_no='15'"); echo $result["color_name"]; ?> Sample4.php ( Delete Record )

<? require("connect.php"); require("function.php"); delete("color","where color_no='15'"); ?> Sample5.php ( Num Record )

<? require("connect.php"); require("function.php"); $result=num_record("color","where 1"); echo $result; ?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Sample6.php ( Math Value คาทางคณตศาสตร เชน max,min,sum,count,avg,cos,sin)

<? require("connect.php"); require("function.php"); $result=math("sum","color_no","color","where 1"); echo $result; ?>

ชอฐานขอมล mydatabase

รายละเอยดของ Table

CREATE TABLE color ( color_no int(2) NOT NULL default '0', color_name varchar(10) NOT NULL default '' ) TYPE=MyISAM;

INSERT INTO color VALUES (1, 'สด า'); INSERT INTO color VALUES (13, 'สครม'); INSERT INTO color VALUES (2, 'สขาว'); INSERT INTO color VALUES (3, 'สฟา'); INSERT INTO color VALUES (4, 'สชมพ'); INSERT INTO color VALUES (5, 'สเหลอง'); INSERT INTO color VALUES (6, 'สเขยว'); INSERT INTO color VALUES (7, 'สน าตาล'); INSERT INTO color VALUES (8, 'สสม'); INSERT INTO color VALUES (9, 'สน าเงน'); INSERT INTO color VALUES (10, 'สแดง'); INSERT INTO color VALUES (11, 'สเทา'); INSERT INTO color VALUES (12, 'สมวง');

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

connect.php

<? $host="localhost"; $username=""; $pass_word=""; $db="mydatabase"; $tb="color"; mysql_connect( $host,$username,$pass_word) or die ("ตดตอกบฐานขอมล Mysql ไมได "); mysql_select_db($db) or die("เลอกฐานขอมลไมได"); ?> function.php <? //============== insert ============== function insert($field,$value,$table) { $sql = "INSERT INTO $table ($field) VALUES ($value)"; $result= mysql_query($sql); return $result; }

//============== delete ============== function delete($table,$condition) { $sql ="delete from $table $condition"; $re = mysql_query($sql); return $result; } //=============== update ================== function update($table,$command,$condition) { $sql = "UPDATE $table SET $command $condition";

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$result = mysql_query($sql); return $result; }

//=============== select ================== function select($table,$condition) { $sql = "select * from $table $condition"; $dbquery = mysql_query($sql); $result= mysql_fetch_array($dbquery); return $result; }

//=============== Numrow ================== function num_record($table,$condition) { $sql = "select * from $table $condition"; $dbquery = mysql_query($sql); $num_rows = mysql_num_rows($dbquery); return $num_rows; }

//=============== Math Value================= function math($MathRex,$field,$table,$condition) { $sql = "select $MathRex($field) as $field from $table $condition"; $dbquery = mysql_query($sql); $result= mysql_fetch_array($dbquery); $value=$result[$field]; return $value; }

?>

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

Sample1.php ( Insert Record ) <? require("connect.php"); require("function.php"); insert("color_no,color_name","'14','เขยนออน'","color"); ?> Sample2.php ( Update Record ) <? require("connect.php"); require("function.php"); update("color","color_no='15',color_name='ด า ด า'","where color_no='14'"); ?> Sample3.php ( Select Record )

<? require("connect.php"); require("function.php"); $result=select("color","where color_no='15'"); echo $result["color_name"]; ?> Sample4.php ( Delete Record )

<? require("connect.php"); require("function.php"); delete("color","where color_no='15'"); ?> Sample5.php ( Num Record )

<? require("connect.php"); require("function.php");

การเขยนโปรแกรมบนเวบ ดวยภาษา PHP

$result=num_record("color","where 1"); echo $result; ?> Sample6.php ( Math Value คาทางคณตศาสตร เชน max,min,sum,count,avg,cos,sin)

<? require("connect.php"); require("function.php"); $result=math("sum","color_no","color","where 1"); echo $result; ?>

top related