php mysql training

228
การเขียนโปรแกรมบนเว็บ ด้วยภาษา 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 จะทางานได้ มีประสิทธิภาพมากกว่า

Upload: -

Post on 13-Mar-2016

228 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 จะท างานไดมประสทธภาพมากกวา

Page 2: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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;

Page 3: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 );

Page 4: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 5: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 6: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 7: Php mysql training

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

Flush

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

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

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

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

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

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

Page 8: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 9: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 ตวอกษร - หามมจดทศนยม หรอชองวาง - จะตองไมตรงกบค าสงวน และควรตงชอ ใหมความหมายใกลเคยงกบ คาทเกบ - ตวอกษรเลกหรอใหญจะเปนตวแปรตางกน - ถาตงตวแปรมาใหม แลวทบตวแปรเกา คาของตวแปรเกาจะหายไป

Page 10: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 เกบจ านวนจรงทงบวกและลบ ทงมทศนยม และไมมทศนยม

Page 11: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 12: Php mysql training

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

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

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

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

Page 13: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 14: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 น าหนา

Page 15: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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> ";

Page 16: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>"; ?>

Page 17: Php mysql training

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

Out put

ตวแปร Array

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

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

Page 18: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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"; } ?>

Page 19: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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"; ?>

Page 20: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>"; } ?>

Page 21: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 (ส าหรบอารเรยมตเดยว) เรมตนอาจจะแจงใชตวแปรแบบอารเรย พรอมเจาะจงขนาดเรมแรก เชน มขนาดเปนศนยกได

Page 22: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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()

Page 23: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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">

Page 24: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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_ แสดงจ านวนบรรทดของไฟล เพอตรวจสอบหาขอผดพลาด

Page 25: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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); ?>

Page 26: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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.

Page 27: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 28: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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'>";

Page 29: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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";

Page 30: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 31: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 วธคอ

Page 32: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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"; }

?>

Page 33: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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) {

Page 34: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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"; } ?>

Page 35: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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"; } ?>

Page 36: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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";

?>

Page 37: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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]; } ?>

Page 38: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 ขอก าหนดเงอนไข เหตการณเปนจรงเหตการณใดเหตการณหนง กคอพบขอมลตวแปรตวใดตวหนง โปรแกรมจงจะท างาน

Page 39: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>" ;

Page 40: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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");

Page 41: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 42: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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++;

Page 43: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 44: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 จะตองมการท าค าสง ภายใน

Page 45: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 กอาจจะเขยนค าสงไดดงน

Page 46: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 ทส าคญกมเชน

Page 47: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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]; }

Page 48: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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;

Page 49: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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;

Page 50: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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"; ?>

Page 51: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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);

Page 52: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>"; }

Page 53: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 54: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 55: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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">

Page 56: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 57: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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> ตวอยาง

Page 58: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 59: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 60: Php mysql training

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

Out Put

sample2.php

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

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

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

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

Page 61: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 อน ๆ ทตองการสงขอมลตองก าหนดในชวงกรอบน

Page 62: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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">

Page 63: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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"; ? >

Page 64: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 65: Php mysql training

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

</body> </html>

Out Put

sample2.php

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

Out Put

Page 66: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 67: Php mysql training

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

Out Put

sample2.php

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

Out Put

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

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

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

Page 68: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 69: Php mysql training

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

Out Put

sample2.php

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

Out Put

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

Page 70: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 71: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 72: Php mysql training

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

sample2.php

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

Out Put

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

sample1.php

Page 73: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 74: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 75: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 76: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 77: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 78: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 79: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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">

Page 80: Php mysql training

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

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

Out Put

sample2.php

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

Out Put

เพมเตมครบ

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

Page 81: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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");

Page 82: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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")

Page 83: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 84: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 85: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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()

Page 86: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 87: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 88: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 89: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 จะกลายเปนตวแปรภายในแมวาจะชอเหมอนกนตวแปรภายนอกทมอยแลวกตาม ท าใหไดผลการท างานไมถกตองตามทตองการ

Page 90: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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);

Page 91: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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();

Page 92: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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)

Page 93: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 94: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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(); ?>

Page 95: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 96: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 97: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>";

Page 98: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 = "ทดสอบ";

Page 99: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 ตวอยาง การหาคามากกวาและนอยกวาจากตวเลขสองตวและสลบทกน สมมตวาเรามตวแปรอยสองตว และเราตองการจะตรวจดวา ตวแปรตวแรกมคานอยกวาตวแปรอกตวหรอไม ถาไม กใหสลบทกน ปญหานเราสามารถแกไขไดโดยเขยนฟงกชนดงน

Page 100: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

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

Page 101: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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\");

Page 102: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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)

Page 103: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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)

Page 104: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 105: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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); ?> <?

Page 106: Php mysql training

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

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

$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); ?>

ฟงกชน ทางเมล

Page 107: Php mysql training

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

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

รปแบบ

mail(To,Subject,Massage,From);

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

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

ตวอยาง

$emailto='[email protected]'; $email_from='[email protected]'; $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="[email protected]"; $Subject="ทดสอบการสงเมลล"; $Massage="ทดสอบการสงเมลลครบ ไดรบแลวตอบดวย"; $From="[email protected] ";

Page 108: Php mysql training

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

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

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

$emailto='[email protected]'; $email_from='[email protected]'; $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> ผสง

Page 109: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 "สงเมลลส าเรจ";

Page 110: Php mysql training

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

} ?>

Out Put

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

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

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

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

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

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

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

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

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

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

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

Page 111: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 112: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 113: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 114: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 115: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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; ?>

Page 116: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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/ )

Page 117: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 118: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 119: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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; ?>

Page 120: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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":

Page 121: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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;

Page 122: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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; }

Page 123: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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; }

?>

Page 124: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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; }

Page 125: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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);

Page 126: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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);

?>

Page 127: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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")

Page 128: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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";

Page 129: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 ซงมคาเรมตนเปนศนยในตอนแรก จะเพมคาทเกบขนทละหนง

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

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

Page 130: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 อกเชนกน

Page 131: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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";

Page 132: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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() กอน

Page 133: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 หมายถง รปแบบของล าดบ หรอกลมของสญลกษณ ทใชแทนล าดบ หรอกลมของอกขระตามทตองการ

Page 134: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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]) ) {

Page 135: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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");

Page 136: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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"); } } ?>

Page 137: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 138: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 หรออาจะใชเวอรชนอน ๆ ตามความสะดวกครบ

Page 139: Php mysql training

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

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

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

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

- เปด Dos ขนมา

- cd\ - cd mysql\bin

Page 140: Php mysql training

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

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

- Mysql

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

Page 141: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 แสดงคาเปนชอฟวส

Page 142: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 )

Page 143: Php mysql training

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

{ echo "ตดตอกบฐานขอมล Mysql ไมได "; exit(); }else{ echo "สามารถตดตอกบฐานขอมล Mysql ได "; } mysql_close($connect); ?> </body> </html>

Out Put

ตอนท 3 ค าสงพนฐาน

ในหวขอนเราจะไดศกษาเกยวกบค าสงพนฐานในการจดการฐานขอมล Mysql ให Start ฐานขอมลกอนครบ

Page 144: Php mysql training

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

1.เกยวกบ Database การสรางฐานขอมล รปแบบ Create database [database-name];

การลบฐานขอมล

รปแบบ Drop database [database-name];

การเลอกใชฐานขอมล

รปแบบ Use [database-name];

Page 145: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 146: Php mysql training

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

ชนดของขอมลใน Mysql

ค าสงลบ Table

รปแบบ Drop Table [Table-name];

Page 147: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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(); }

Page 148: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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="";

Page 149: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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);

Page 150: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 ไมได ";

Page 151: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 {

Page 152: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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; จะเหนชอฐานขอมลทเราสรางขนมา

Page 153: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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) );

Page 154: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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', '[email protected]', '095827013', 'surin ')

เมอลองใชค าสง Select * From Cus_tomer; จะพบขอมลทเราได Insert ลงไป

Page 155: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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', 'นายวระชย ', 'นกจรมย', '[email protected]', '095827013', 'สรนทร ')") or die ("insert ขอมลลง Table ไมได "); if(!$insert_table) { mysql_die(); } else {

Page 156: Php mysql training

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

echo"<br>Insert ขอมลลง Tables เรยบรอยแลว"; } } mysql_close($connect); ?> </body> </html>

Out Put

เมอลองใชค าสง Select * From Cus_tomer; จะพบขอมลทเราได Insert ลงไป

ตอนท 6 การแสดงคณสมบตอน ๆ ของตาราง

ออกแบบฐานขอมลดงน Create Database Data_customer;

Page 157: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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);

Page 158: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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";

Page 159: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 ( ในฐานขอมล ผมไดท าการเพมขอมลเรยบรอยแลวครบ สามารถศกษาไดจากหวขอทผานมา )

Page 160: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 161: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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);

Page 162: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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> <?

Page 163: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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";?>

Page 164: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 165: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 166: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 167: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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";

Page 168: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 169: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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"> ชอทตองการคนหา

Page 170: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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("เลอกฐานขอมลไมได"); /* ท าการเลอกฐานขอมลกอน */

Page 171: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 172: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 173: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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++; } }

Page 174: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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,

Page 175: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 176: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 "; ?>

Page 177: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 178: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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";?>

Page 179: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 180: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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];

Page 181: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 182: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 เพอแกไขขอมล

Page 183: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 184: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 185: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>";

Page 186: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 187: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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>

Page 188: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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++;

Page 189: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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);

Page 190: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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,

Page 191: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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);

Page 192: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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> <?

Page 193: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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";?>

Page 194: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 195: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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%">

Page 196: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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;

Page 197: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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;?>

Page 198: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 199: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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}

Page 200: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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("เลอกฐานขอมลไมได");

Page 201: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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 ขอมลได");

Page 202: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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',

Page 203: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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) {

Page 204: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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) {

Page 205: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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'"); ?>

Page 206: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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; ?>

Page 207: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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="";

Page 208: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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)

Page 209: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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");

Page 210: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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; ?>

Page 211: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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, 'สน าเงน');

Page 212: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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; }

Page 213: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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);

Page 214: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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");

Page 215: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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;

Page 216: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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);

Page 217: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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);

Page 218: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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");

Page 219: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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

Page 220: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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("เลอกฐานขอมลไมได"); ?>

Page 221: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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);

Page 222: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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"); ?>

Page 223: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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; ?>

Page 224: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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, 'สมวง');

Page 225: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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";

Page 226: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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; }

?>

Page 227: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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");

Page 228: Php mysql training

การเขยนโปรแกรมบนเวบ ดวยภาษา 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; ?>