บทความ php programing-edit-ok · ปล. อันนี้ต องใช...

117
PHP Programing มาทําใหเว็บเราเปลี่ยนภาษาไดกันเถอะ ขั้นตอนการทํา 1. สรางไฟลขึ้นมา1ไฟล ชื่อะไรก็ได ผมของตั้งวา lang-th.php ตัวอยาง <?php define("_HOME","หนาหลัก"); define("_WEBBOARD","เว็บบอรด"); ?> 2. สรางไฟลที่เราตองการ จะเปลี่ยนภาษา ตอง include ไฟลดานบนดวยนะครับ ตัวอยาง <?php include "lang-th.php"; // แสดงผล echo _HOME; echo _WEBBOARD; ?> ถาเราตองการทําใหเปลี่ยนภาษาไดก็ แกตรง include ใหดึงไฟลภาษาอื่นที่เราสรางไวครับ หรือจะใช การ ตรวจสอบเงื่อนไข มาใชในการเปลี่ยนภาษาก็ไดนะครับ ตัวอยาง <?php // exsample 1 $lang="th"; // ประกาศตัวแปร หรือ จะประกาศตัวแปรผาน url ก็ไดครับ เชน myhost.com/index.php?lang=th if($lang=="th"){ //ถาตัวแปร $lang = th ก็จะ include lang-th.php มา include "lang-th.php"; }elseif($lang=="en"){//ถาตัวแปร $lang = en ก็จะ include lang-en.php มา include "lang-en.php"; }else{ // ถา $lang ไมมีคาเลย ก็จะดึง lang-th มา include "lang-th.php"; // Default lang } echo _HOME; echo _WEBBOARD; ?> วิธีใชนะครับ ใหเรียกผาน url เชน www.name.com/index.php?lang=th หรือจะประกาศตัวแปร $lang ไวก็ได การเขียน Script เพื่อแบงหนา <?php /*Connect ฐานขอมูล */ mysql_connect('localhost','root',''); // connect mysql mysql_select_db('topic'); // select database /* check วามี คาตัวแปร $start หรือไม ถาไมมีใหตั้งเปน 0 ปล. อันนี้ตองใชกับตัวแบงนะ หามเอาออก*/ if(!isset($start)){ $start = 0; } $limit = '10'; // แสดงผลหนาละกี่หัวขอ /* หาจํานวน record ทั้งหมด

Upload: others

Post on 07-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

PHP Programing

มาทาใหเวบเราเปลยนภาษาไดกนเถอะ ขนตอนการทา 1. สรางไฟลขนมา1ไฟล ชอะไรกได ผมของตงวา lang-th.php ตวอยาง <?php define("_HOME","หนาหลก"); define("_WEBBOARD","เวบบอรด"); ?>

2. สรางไฟลทเราตองการ จะเปลยนภาษา ตอง include ไฟลดานบนดวยนะครบ ตวอยาง <?php include "lang-th.php"; // แสดงผล echo _HOME; echo _WEBBOARD; ?>

ถาเราตองการทาใหเปลยนภาษาไดก แกตรง include ใหดงไฟลภาษาอนทเราสรางไวครบ หรอจะใช การตรวจสอบเงอนไข มาใชในการเปลยนภาษากไดนะครบ ตวอยาง <?php // exsample 1 $lang="th"; // ประกาศตวแปร หรอ จะประกาศตวแปรผาน url กไดครบ เชน myhost.com/index.php?lang=th if($lang=="th"){ //ถาตวแปร $lang = th กจะ include lang-th.php มา include "lang-th.php"; }elseif($lang=="en"){//ถาตวแปร $lang = en กจะ include lang-en.php มา include "lang-en.php"; }else{ // ถา $lang ไมมคาเลย กจะดง lang-th มา include "lang-th.php"; // Default lang } echo _HOME; echo _WEBBOARD; ?>

วธใชนะครบ ใหเรยกผาน url เชน www.name.com/index.php?lang=th หรอจะประกาศตวแปร $lang ไวกได

การเขยน Script เพอแบงหนา

<?php /*Connect ฐานขอมล */ mysql_connect('localhost','root',''); // connect mysql mysql_select_db('topic'); // select database

/* check วาม คาตวแปร $start หรอไม ถาไมมใหตงเปน 0 ปล. อนนตองใชกบตวแบงนะ หามเอาออก*/ if(!isset($start)){ $start = 0; } $limit = '10'; // แสดงผลหนาละกหวขอ

/* หาจานวน record ทงหมด

Page 2: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

ปล. อนนตองใชกบตวแบงนะ หามเอาออก*/ $Qtotal = mysql_query("select * from topic"); //ควร คาสง $total = mysql_num_rows($Qtotal); // หาจานวน record

/* ควรขอมลออกมาเพอแสดงผล */ $Query = mysql_query("SELECT * FROM topic ORDER BY id DESC LIMIT $start,$limit"); //ควรคาสง $totalp = mysql_num_rows($Query); // หาจานวน record ทเรยกออกมา

/* อนน ไมเกยวเอาออกได */ printf("มหวขอทงหมด %d หวขอ / ",$total); printf("แสดงหนาละ %d หวขอ<br />",$totalp); echo "<hr />";

/* วนลปขอมล */ while($arr = mysql_fetch_array($Query)){ echo sprintf("<B>%03d</B>",$arr[id])." - $arr[title]<br />"; // แสดงผล } echo "<hr>";

/* ตวแบงหนา */ $page = ceil($total/$limit); // เอา record ทงหมด หารดวย จานวนทจะแสดงของแตละหนา

/* เอาผลหาร มาวน เปนตวเลข เรยงกน เชน สมมตวาหารได 3 เอามาวลกจะได 1 2 3 */ for($i=1;$i<=$page;$i++){ if($_GET['page']==$i){ //ถาตวแปล page ตรง กบ เลขทวนได echo "[<a href='?start=".$limit*($i-1)."&page=$i'><B>$i</B></A>]"; //ลงค แบงหนา เงอนไขท 1 }else{ echo "[<a href='?start=".$limit*($i-1)."&page=$i'>$i</A>]"; //ลงค แบงหนา เงอนไขท 2 } } ?>

Page 3: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

ตรวจสอบวนทยอนหลง - เดนหนา

ตรวจสอบวนทยอนหลง - เดนหนา เนองจากเราเกบ Format time โดยใช mktime จะสามารถตรวจสอบได วาเมอ 5 วนทแลวตรงกบวนทเทาไร หรออก 3 เดอนจะตรงกบวนทเทาไร ลองมาดตวอยางการทา

ขนตอนการทา

1. เงอนไขทเราจะทา คอ ยอนเวลาเมอ 5 วนทแลวนบจากปจจบนตรงกบวนทเทาไร ทาการสรางไฟลเอกสาร php แลวเขยนโคดดงน ตรวจสอบวนทปจจบน

<? $month=date("m"); //สรางคาเดอนปจจบน $day=date("d"); //สรางคาวนปจจบน $year=date("Y"); //สรางคาปปจจบน $mk_data=mktime(22, 15, 10, $month, $day, $year); //กาหนดคาโดย mktime echo date("M-d-Y", $mk_data); //แสดงผลโดย Format M-d-Y ?>

2. ผลทไดจะมคาเทากบวนทปจจบน ถาเราตองการยอน 5 วน เขยนโคดดงน

<? $month=date("m"); //สรางคาเดอนปจจบน $day=date("d")-5; //สรางคายอนหลงไป 5 วน $year=date("Y"); //สรางคาปปจจบน $mk_data=mktime(22, 15, 10, $month, $day, $year); //กาหนดคาโดย mktime echo date("M-d-Y", $mk_data); //แสดงผลโดย Format M-d-Y ?>

3. ผมจะไมนาผลมาแสดงใหดนะครบ เพราะวาคาทไดจะเทากบวนทปจจบน ดงนนควรท Run ทดสอบผล จากตวอยางเราจะเหนวาคาทเรากาหนดนนจะเปนตวเลขอยแลว เพยงแตกาหนดคา +, - จากคาปจจบนเพยงเทานเรากสามารถทราบอดต, ปจจบน, อนาคต การนาไปประยกตใช เชน ทาปฏทน, Diary, การจาคา Login Webboard

การนาคาจาก Function mktime กลบมาแสดงผล การนาคาจาก Function mktime กลบมาแสดงผล หลงจากทเราไดรจกการใชงาน Function mktime ไปแลวหลายคนอาจจะงงวาจะนามาแสดงผลไดอยางไร ลองมาดตวอยางการทา

ขนตอนการทา

1. สรางเอกสาร php พรอมกบเขยนโคดดงน

<? $mk_data=mktime(22, 15, 10, 10, 18, 2004); echo date("M-d-Y", $mk_data); //แสดงผลโดยใช Format date เปน M-d-Y ?>

2. ผลทได

Oct-18-2004

Page 4: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

3. แตถาตองการแสดงผลแบบตวเลขเชนเดม เขยนโคดดงน

<? $mk_data=mktime(22, 15, 10, 10, 18, 2004); echo date("m-d-Y", $mk_data); //แสดงผลโดยใช Format date เปน m-d-Y ?>

4. ผลทได

10-18-2004 การใช Function mktime() การใช Function mktime() เปนฟงคชนใชสาหรบนาคา Time ในรปแบบของ Unix timestamp เพอความสะดวกในการเรยกใชในภายหลง

ขนตอนการใชงาน

1. รปแบบของ Function

mktime ( ชวโมง, นาท, วนาท, เดอน, วน, ป);

2. การกาหนดคา

mktime(22, 15, 10, 10, 18, 2004);

3. นามาทดสอบเพอแสดงคา

<? $mk_data=mktime(22, 15, 10, 10, 18, 2004); echo $mk_data; ?>

4. ผลทได

1098112510 การสม Password การสม Password หลายคนดจาก Title กพอจะทราบ ลองมาดการทากนเลยดกวา

ขนตอนการทา

1. สรางไฟลเอกสาร php พรอมกบเขยนโคดดงน

<? $gen=8; //กาหนดจานวนหลกในการสม $char_pass = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //รปแบบขอความทจะใหทาการสม อาจจะเปลยนเปน A-Z, a-z, 0-9 $password = ""; //กาหนดคาเรมตนใหกบตวแปล password ทใชในการเกบขอมล while(strlen($password)<$gen) { $password .= $char_pass[rand()%strlen($char_pass)]; //ทาการสมพรอมกบเกบคาลง password ใช (.) มาชวยในการรวมขอความทถกสม }

Page 5: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

echo $password; //แสดงผลขอมล ?>

2. ผลทได

STA496EZ การสรางแบบทดสอบเขารหส MD5 การสรางแบบทดสอบเขารหส MD5 จากคาถามในกระทในมาเขยนเปนบทความใหศกษากน มาดการทากนเลยครบ

ขนตอนการทา

1. สรางแบบฟอรมจากโปรแกรมทาเวบ ในทนสรางจากโปรแกรมอะไรกไดนะครบ แลวแตถนด จากนนตงชอไฟลเปน form_md5.php ดงตวอยาง

ตงชอ Field = data กาหนด Action ไปทไฟล = encode_md5.php

2. ใครสงสยเรองฟอรม ดโคด Html ทน

<html> <head> <title>MD5</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="encode_md5.php"> ขอมลทตองการเขารหส <input type="text" name="data"> <input type="submit" name="Submit" value="Encode MD5"> </form> </body> </html>

3. สรางไฟล encode_md5.php ดงตวอยาง

<? $encode = md5($data); echo "ขอมลททาการเขารหส คอ <FONT COLOR=\"red\">$data</FONT><BR>"; echo "ทาการเขารหส MD5 เปน <FONT COLOR=\"green\">$encode</FONT>";

Page 6: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

?>

4. จากนนลองทดสอบ ดงภาพ

5. ลองนาไปใชงานกบระบบ Login ดนะครบ การทา Counter โดยใชฐานขอมล MySQL การทา counter กเปนอกเครองมอหนงทหลายๆ เวบไซตใชเชคผทเขามาเยยมชมเวบเรา และอกหลายๆ คนกไปโหลด Script มาใชแตยงไมเคยเขยนเอง ผมกเลยยก Script นมาลองใหเขยนกนด มาดขนตอนการเขยนกนเลย

ขนตอนการทา Counter 1. สรางฐานขอมล Mysql เพอเกบขอมล # phpMyAdmin MySQL-Dump # http://phpwizard.net/phpMyAdmin/ # # Host: localhost Database : test # --------------------------------------------------------

# # Table structure for table 'test' #

CREATE TABLE `counter` ( `counter` int(11) NOT NULL default '1' ) TYPE=MyISAM;

INSERT INTO `counter` VALUES (1);

2. หลงจากทเราสราง Database และ ตาราง เรยบรอยแลว เรากสรางไฟล PHP ขนมาแลวเขยนโคด ตงชอวา counter.php ดงน <? $host="localhost"; $username="root"; // user ของ root $password=""; // pass ของ Root ถาไม มกไมตองใสครบ $db="test"; $tb="counter"; mysql_connect( $host,$username,$password) or die ("ตดตอกบฐานขอมล Mysql ไมได ");

Page 7: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

mysql_select_db($db) or die("เลอกฐานขอมลไมได");

/* ทาการตรวจสอบ Counter */ $sql1="Select * From $tb"; $dbquery1=mysql_db_query($db,$sql1); $result1= mysql_fetch_array($dbquery1); $counter=$result1[counter];

echo "คณเขามาเยยมชมเปนคนท "; echo $counter; // echo คาของ conter

/* ทาการ Update Counter โดย+1 */ $counter_new=$counter+1; $sql2="update $tb set counter='$counter_new'"; $dbquery2=mysql_db_query($db,$sql2);

mysql_close(); ?>

3.พอทาเสรจลอง Run ดนะครบกจะไดแบบนครบ * ตวเลขอาจจะไมเทากบตวอยางลอง Refresh ดนะครบ

4. เพยงเทานเรากได Counter มาใชในเวบของเราแลว งายมยครบ * เพมเตมเวลาทเราจะเรยกใชให include("counter.php"); ไวในหนาทเราตองการแสดง

การยาย Folder ทเกบไฟล php ใน Apache บทเรยนนบางคนอาจจะงงวาเปลยนทาไมของเดมทเกบอยท C:/AppServ/www กดอยแลว แตเคยหรอไมครบเวลา Format เครองตองมานงยายไฟลใหมเสยเวลา สเรายายตงแตแรกดกวา เวลาจะทาอะไร จะไดไมตองกลววาไฟลจะหาย ขนตอนหารทา 1. เปดไฟล httpd.conf ทอยใน C:\AppServ\apache\conf หรอใช Windows หากไดครบ จากนนใช Text Editor เปดไฟลขนมาแกไข #DocumentRoot "C:/AppServ/www" <-- จะอยบรรทดท 303 ใหแกเปน Folder ทเราตองการเกบไดฟไหนกระบเขาไปดวยนะครบ DocumentRoot "D:\HtDocs" <-- จากตวอยางผมเกบทไดฟ D: Folder HtDocs ถาแกไมถกใหดจากภาพ

Page 8: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

//อยาลม Stop Apache กอน แลวคอน Start ขนมาใหมนะครบไมเชนนนโปรแกรมยงคงใชทเกบไฟลทเดม กลองนาไปใชกนดนะครบเพอความสะดวก

การเปดใชงานโหมด Graphic ใน php การใชงานในโหมด Graphic ใน php เราจาะตองไปเปด Function ใน php.ini แตผมวาหลายๆคน พอเปดใชงานแลว Error กยงไมสามารถใชงานไดอยด ใครทมปญหามาดวธการทา ขนตอนการทา 1. เปดไฟล php.ini ขนมาดวยโปรแกรม text editor หาบรรทดทเขยนวา extension=php_gd2.dll ถาเปดดวยโปรแกรมทสามารถบอกบรรทดไดจะอยทบรรทด 569 โดยปกตจะปดดวยเครองหมาย (;) ใหเราลบเครองหมายทอยหนาบรรทดนนออกดงภาพ

2. หลงจากนนให Copy ไฟล php_gd2.dll ทอยใน Folder C:\AppServ\php\ext ถาหาไมเจอดาวนโหลดไดทน php_gd2.zip หลงจากท Copy แลวใหนาไปวางท Folder system32 ทอยใน window หรอ winnt ถาเปนวนโดวส 2000, XP ดงภาพ

Page 9: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

3. หลงจากนน Stop Apache และทาการ Start ขนมาใหมและนา Script นลองทดสอบดวาสามารถเขยนรปภาพจาก php ไดหรอไม <?php header("Content-type: image/png"); $im = @imagecreate(250, 50) or die("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate($im, 255, 255, 255); $text_color = imagecolorallocate($im, 233, 14, 91); imagestring($im, 5, 5, 5, "A Simple Text String", $text_color); imagestring($im, 5, 5, 25, "Webthaidd.COM ^^!", $text_color); imagepng($im); imagedestroy($im); ?> 4. ถาใชงานโหมด Graphic ไดจะไดผมดงภาพ

5. เปนอยางไรบางครบคงไมยากนะครบ ลองนาสรางภาพสวยๆ ไดอยางไรสงภาพมาใหดกนบางนะครบ ^^! การทา Poll ตอนท 1 (สรางฐานขอมล) การทา Poll ตอนท 1 (สรางฐานขอมล) เปนอก Script ทหลายๆ คนหาดาวนโหลด แตถาเราทา Webboard บทความกอนหนานไดเรากสามารถทา Poll ไดเชนกน ในบทความชดนอาจจะยาวซกเลกนอยเพราะจะมระบบ Admin จดการหวขอของ Poll ดวย ทาตามทละขนตอนจะไมงง มาดขนตอนการทา ขนตอนการทา * ในการทดสอบนผมใช Database ชอ Vote 1. สรางฐานขอมลสาหรบ Admin เพอจดการกบ Poll CREATE TABLE admin ( username varchar(20) NOT NULL, password varchar(20) NOT NULL );

Page 10: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

INSERT INTO admin VALUES ( 'test', '1234');

2. สรางฐานขอมล Poll เ พอใชในการกาหนดหวขอ CREATE TABLE poll ( pollid int(11) NOT NULL auto_increment, qpoll tinytext NOT NULL, active char(3) DEFAULT 'no' NOT NULL, PRIMARY KEY (pollid) ); 3. สรางฐานขอมล Poll_ans เพอใชในการเกบผมโหวด CREATE TABLE poll_ans ( ansid int(11) NOT NULL auto_increment, pollid int(11), ans varchar(20) NOT NULL, votes int(11) DEFAULT '0', PRIMARY KEY (ansid) ); 4. ใหดในฐานขอมล Admin จะมขอมลของ Admin อยเราจะใชในการทดสอบดวย หรอจะตงตวอนกไดนะครบ user = test pass = 1234

การทา Poll ตอนท 2 (สรางไฟล Config เชอมตอฐานขอมล) การทา Poll ตอนท 2 (สรางไฟล Config เชอมตอฐานขอมล) อยางทรกนถาเราเขยนงานใหญๆ ตองมการตดตอฐานขอมลหลายๆ ครงดงนนเรากสรางไฟล Config เอาไวเพอเรยกใชทหลงได ขนตอนการทา 1. สรางไฟล PHP ขนมาแลว Save ชอวา config.inc.php แลวนาโคดดานลางนเขยนลงในไฟล <? $host = "localhost"; $user = ""; $passwd = ""; $dbname = "vote"; //ชอฐานขอมล mysql_connect($host,$user,$passwd) or die("No Connect Syatem"); mysql_select_db($dbname) or die("No Connect Database"); ?> 2. เวลาทเราเรยกใชใหเราใชคาสง include(); ตวอยาง include('config.inc.php');

Page 11: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

การทา Poll ตอนท 3 (การทาระบบ Admin เพอกาหนดหวขอ Poll) การทา Poll ตอนท 3 (การทาระบบ Admin เพอกาหนดหวขอ Poll) ระบบนเปนระบบสาคญทจะชวยใหเราสามารถกาหนด Poll ไดเลยวาเราจะใช Poll หวขอไหนในการโหวด มาดขนตอนการทา ขนตอนการทา 1. สรางไฟล admin.php เพอทเราจะใชเปนแบบฟอรมของผดแลระบบ

โคดทใชเขยน <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"></head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="login.php"> <table width="150" border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>Admin</b> <b><font color="#FF0000">Poll</font></b></td> </tr> <tr> <td>User Login</td> </tr> <tr> <td> <div align="center"> <input type="text" name="username"> </div> </td> </tr> <tr> <td>Password</td> </tr> <tr> <td> <div align="center"> <input type="password" name="password"></div> </td> </tr> <tr> <td> <input type="submit" name="Submit" value="Login"> </td> </tr> <tr> <td>&nbsp;</td> </tr>

Page 12: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<tr> <td><font size="2">By Webthaidd.com</font></td> </tr> </table> </form> </body> </html>

2. หลงจากนนสรางไฟล login.php เพอเชคและเขาสระบบ Admin Poll

โคดทใชเขยน <? include('config.inc.php'); $sql = mysql_query("SELECT * FROM admin WHERE username='$username' AND password='$password'"); $num_row = mysql_num_rows($sql); if($num_row!=1){ echo "ขอมลทคณปอนไมถกตอง<BR>"; echo "[<a href='javascript:history.back(1)'>กลบไปปอนขอมลใหม</a>]"; exit(); } ?> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874">

</head>

<body bgcolor="#FFFFFF"> <form name="form1" method="post" action="add_admin.php"> <table border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td align="center"><b>Poll <font color="#FF0000">Admin</font></b></td> </tr> <tr> <td><font size="2"><b>คาถามสารวจ</b></font></td> </tr> <tr> <td> <div align="center"> <input type="text" name="qpoll" size="30"> </div> </td> </tr> <tr>

Page 13: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<td><b><font size="2">หวขอสารวจ</font></b></td> </tr> <tr> <td>1:&gt; <input type="text" name="ch[]"> </td> </tr> <tr> <td>2:&gt; <input type="text" name="ch[]"> </td> </tr> <tr> <td>3:&gt; <input type="text" name="ch[]"> </td> </tr> <tr> <td>4:&gt; <input type="text" name="ch[]"> </td> </tr> <tr> <td>5:&gt; <input type="text" name="ch[]"> </td> </tr> <tr> <td height="30"> <input type="submit" name="Submit" value="Add Poll"> <input type="reset" name="Submit2" value="Reset"> </td> </tr> <tr> <td height="30"><font size="2">By Webthaidd.com</font></td> </tr> </table> </form> </body> </html>

3. จากนนสรางไฟล add_admin.php เพอใชในการจดเกบขอมลท Admin ปอน <? include('config.inc.php'); $count_ch=count($ch); $newpollquest = mysql_query("INSERT INTO poll (qpoll) VALUES ('$qpoll')"); //จดเกบหวขอ $querypoll = mysql_query("SELECT * FROM poll WHERE qpoll='$qpoll'"); while($pollrow=mysql_fetch_array($querypoll)){ $pollid = $pollrow['pollid']; }

Page 14: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

$n=0; while($n<$count_ch){ if($ch[$n]){ $newpollanswer = mysql_query("INSERT INTO poll_ans (pollid,ans) VALUES ('$pollid','$ch[$n]')"); //จดเกบรายระเอยดหวขอโหวดตางๆ } $n++; }

echo "เพมหวขอในการโหวดเรยบรอยแลว<BR>"; echo "<A HREF=\"set_active.php\">ตง Active หวขอโหวด</A>"; ?> 4. จากนนจะสงเกตวาเราจะ Link ไฟลไปยง set_active.php อานตอนตอไปนะครบ ^^

การทา Poll ตอนท 4 (การสราง Set Active ใหกบหวขอทจะโหวด) การทา Poll ตอนท 4 (การสราง Set Active ใหกบหวขอทจะโหวด) หลายคนอาจจะงงวามนคออะไร จรงๆแลว Poll ทเรากาลงทาอยนสามารถเพมหวขอในการสารวจได แตเนองดวยมหลายหวขอ Script ไมสามารถรเลยวาจะใชหวขอไหน ดงนนเราจงตองเขยน Script Set Active ใหกบ Poll ขนตอนการทา 1. สรางไฟล set_active.php เพอใชในการกาหนด Poll

โคดทเขยนในไฟล <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="set_active.php"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>Poll <font color="#FF0000">Active</font></b></td> </tr> <tr> <td><font size="2">ตง Active เพอกาหนดหวขอโหวด</font></td> </tr> <? include('config.inc.php'); if($active_submit){ $sql = mysql_query("UPDATE poll SET active='no' WHERE active='yes'");

Page 15: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

$sql = mysql_query("UPDATE poll SET active='yes' WHERE pollid=$active_choice[0]"); } $query = mysql_query("SELECT * FROM poll"); while($row = mysql_fetch_array($query)){ $pollid = $row['pollid']; $qpoll = $row['qpoll']; $active = $row['active']; if($active=="no"){ $check=""; }else $check="checked"; echo "<tr> <td> <input type=\"radio\" name=\"active_choice[]\" value=\"$pollid\" $check> $qpoll </td> </tr>"; } ?> <tr> <td height="30"> <input type="submit" name="active_submit" value="Active"> </td> </tr> <tr> <td height="30"> <A HREF="vote.php">กลบไปหนาโหวด</A> </td> </tr> <tr> <td><font size="2">By Webthaidd.com</font></td> </tr> </table> </form> </body> </html> 2. ตอไปเราจะตองสรางไฟล vote.php เพอจะใชในการ Vote อานตอนตอไป

การทา Poll ตอนท 5 (การสรางหนา Vote และหนาแสดงผล) การทา Poll ตอนท 5 (การสรางหนา Vote และหนาแสดงผล) เปนบทความทสดทายทเราจะไดทดสอบระบบ Poll ทเราทาวาใชงานไดมากนอยแคไหน ในบทความนจะม 2 สวนคอสวนของการ Vote กคอหนาหลก แลวสวนแสดงผลในหนานจะทาการเกบผมไปดวยในตว ขนตอนการทา 1. สรางไฟล vote.php เพอใชเปนหนาหลกในการโหวด

Page 16: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

โคดทใชเขยน <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="add_poll.php"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><b>Webthaidd</b> <b><font color="#FF0000">Poll</font></b></td> </tr> <tr> <td> <? include('config.inc.php'); $query = mysql_query("SELECT * FROM poll WHERE active='yes'"); while($row = mysql_fetch_array($query)){ $pollid = $row['pollid']; $qpoll = $row['qpoll']; echo $qpoll."<BR>"; //แสดงหวขอ Poll } $query = mysql_query("SELECT * FROM poll_ans WHERE pollid=$pollid ORDER BY ansid"); while($row = mysql_fetch_array($query)){ $ansid = $row['ansid']; $ans = $row['ans']; $n++; if($n==1){$check="checked";}else $check=""; echo "<input type=\"radio\" name=\"choice[]\" value=\"$ansid\" $check> $ans<BR>"; //แสดงรายระเอยดของหวขอทโหวด และฝากคา ansid } ?> <input type="hidden" name="pollid" value="<? echo $pollid;?>"> //ฝากตวแปลหวขอโหวด</td> </tr> <tr> <td height="30"> <input type="submit" name="Submit" value="Vote"> </td> </tr> <tr> <td><font size="2">By Webthaidd.com</font></td>

Page 17: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

</tr> </table> </form> </body> </html> 2. หลงจากนนสรางไฟล add_poll.php เพอใชในการเกบผลโหวด และแสดงผล

<? include('config.inc.php'); $sql = mysql_query("SELECT * FROM poll_ans WHERE ansid='$choice[0]'"); $query = mysql_fetch_array($sql); $votes = $query['votes']+1; //บวกเพมไป 1 ตามหวขอทโหวด $sql = mysql_query("UPDATE poll_ans SET votes='$votes' WHERE ansid='$choice[0]'"); $query = mysql_query("SELECT * FROM poll WHERE active='yes'"); while($row = mysql_fetch_array($query)){ $pollid = $row['pollid']; $qpoll = $row['qpoll']; echo $qpoll."<BR>"; //แสดงหวขอ Poll } $query = mysql_query("SELECT * FROM poll_ans WHERE pollid=$pollid ORDER BY ansid"); while($row = mysql_fetch_array($query)){ $ansid = $row['ansid']; $ans = $row['ans']; $votes = $row['votes']; $n++; if($n==1){$check="checked";}else $check=""; echo "&#149; $ans = $votes<BR>"; //รายละเอยดของหวขอโหวดตางๆ } echo "<A HREF=\"vote.php\">กลบหนาโหวด</A>"; ?> 3. ทายนหลายคนอาจจะสรางไดแลวกลองนาไปใชกนดครบ สวนวธการใชผมจะเขยนในตอนหนา

การสรางตวแปล Array สวสดครบ ในบทความนจะกลาวถงการสราง Array เพอใชในการเขยน PHP จะทาใหเราเขาถงขอมลไดงาย การสรางตวแปล Array นนจะมดวยกนหลายแบบในทนผมจะขอกลาวแบบรวมๆ การสราง Array 1. การสราง Array โดยกาหนดขอมลเปนตวเลข <? $number=array(1,2,3,4,5,6,7,8,9);

Page 18: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

?>

2. หลงจากทเราไดสรางตวแปล Array เสรจแลวถาเรจะแสดงผลจะสงเกตไดวาเราไมสามารถแสดงขอมลโดยตรงได ลองดจากการทดลอง <? $number=array(1,2,3,4,5,6,7,8,9); echo $number; ?> ผลทไดหลงจากทเราได Run แลว Browser จะบอกวา Array เนองดวย Array จะเกบขอมลแบบเปนหองเราจะตองมการอางองทอยวาเราตองการขอมลสวนไหนออกมาแสดง ตวอยาง <? $number=array(1,2,3,4,5,6,7,8,9); echo $number[1]; ?> ผลทไดจะเทากบ 2 หลายคนอาจจะแปลกใจวาเราระบใหขอมลทหองท 1 ออกมาแสดงแลวทาไมผลถงไดเปน 2 ได (จรงๆ แลวการเกบขอมลของ Array เปนหองกจรงแตหองทเกบขอมลหองแรกนนจะเปนตาแหนงหองท 0) 3. การแสดงผล Array แบบหลายหองโดยอาศยคาสง Loop <? $number=array(1,2,3,4,5,6,7,8,9); for($n=0;$n<9;$n++){ echo "Array หองท $n มคา =".$number[$n]."<BR>"; } ?> ผลทได Array หองท 0 มคา =1 Array หองท 1 มคา =2 Array หองท 2 มคา =3 Array หองท 3 มคา =4 Array หองท 4 มคา =5 Array หองท 5 มคา =6 Array หองท 6 มคา =7 Array หองท 7 มคา =8 Array หองท 8 มคา =9 4. เราสามารถเขยนไดอกแบบโดยใช Loop แบบ Foreach <? $number=array(1,2,3,4,5,6,7,8,9); foreach($number as $value){ $n++; echo "Array หองท $n มคา =".$value."<BR>"; } ?> ผลทได

Page 19: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

Array หองท 1 มคา =1 Array หองท 2 มคา =2 Array หองท 3 มคา =3 Array หองท 4 มคา =4 Array หองท 5 มคา =5 Array หองท 6 มคา =6 Array หองท 7 มคา =7 Array หองท 8 มคา =8 Array หองท 9 มคา =9 ใหสงเกตวาผลทไดออกมาเหมอนกน 5. บทความนขอกลาวถงการกาหนดขอมล Array แบบตวเลขไวแคนกอน ในบทความตอไปจะเปนการกาหนดโดยม String เขามาเกยวของดวย

การสราง New เมอมคนตงกระท การสราง New เมอมคนตงกระท ตอนท 7 หลายคนคงจะรอกนนานกบบทความ จรงๆ โปรเจคยงไมจบแตมาเขยนบทความใหอานกนกอน ในบทความนกเปนบทความเกยวกบการสราง New เมอมคนเขามาโพสตกระทในเวบบอรดของเราจะ new ยงไงกตองมโคดเดมกนกอนนะครบ ผมจะขอเขยนเสรมจากเดมเลยละกน ^^ ขนตอนการทา 1. กอนอนมาด Field ทเราจะนามาใชกนกอน

date_q = วนทผใชโพสตขอความลงบอรด

2. เตรยมรปภาพ

//อาจจะใชรปอนกไดนะครบ

3. หลงจากนนเขยนโคดไวในหนา webboard.php

<html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body> <u><strong>แสดงกระท webthaidd.com</strong></u><strong> </strong>[<a href="post.php">ตงกระทใหม</a>]<br> <? include('config.inc.php'); $sql = "select * from quiz order by id_quiz desc"; $dbquery = mysql_db_query($dbname, $sql); $date_check=date("d/m/y"); //หาวนทปจจบน [สวนทเพม] // หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); // เรมวนรอบแสดงขอมล $i=0; while ($i < $num_rows) {

Page 20: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

$result = mysql_fetch_array($dbquery); $id_quiz = $result[id_quiz]; $title = $result[title]; $name = $result[name]; $message = $result[message]; $email = $result[email]; $date_q = $result[date_q]; $count_q = $result[count_q];

//check วนท เพม Script if($date_check==$date_q){ $img_new="<img src=\"new.gif\" width=\"28\" height=\"11\">"; }else { $img_new=""; }

echo "<FONT COLOR=\"red\"><b>".sprintf("%05d", $id_quiz)."</b></FONT>"; //แสดงหมายเลขแบบมเงอนไข echo " <A HREF=\"show_ans.php?id_quiz=$id_quiz\" target=\"$id_quiz\">$title</A> <FONT COLOR=\"blue\">$date_q $img_new</FONT> $name<BR>"; //นาตวแปลวางตอคาถาม

$i++; } // ปดการตดตอฐานขอมล mysql_close(); ?> </body> </html>

4. ผลทได

5. ลองนาไปใชกนดนะครบ ^^! ใครเขยนตอดๆ สามารถสงมารวมไดนะครบ การสงคาตวแปลผาน Cookies การสงคาตวแปลผาน Cookies หลายๆ คนถามเขามา กนามาเขยนเปนบทเรยนใหไดศกษากน จรงๆ การทเราใช Cookie นนเปนการฝงคาตวแปลไวทเครองของผใชบรการเวบไซตนนๆ และหลายๆ คนคงจะไมชอบเจา Cookie นซกเทาไรนก แตแนนอนคนทชอบกคงจะเปนคนทาเวบอยางเราๆ เพราะจะไดสะดวกในการสงคา ดอยางไรมาลองดกนครบ ขนตอนการทา ในทนเราจะสรางไฟลทดลองขนมา 2 ไฟล เพอใชในการทดสอบในการสงคา นนคอไฟล index.php จะทาการสงคาไปทไฟล show.php 1. สรางไฟล index.php แลวเขยนโคดดงน

<?

Page 21: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

setcookie ("web", "Webthaidd.Com"); //ตวแปลทเรากาหนดคอตวแปล web echo "<A HREF=\"show.php\">แสดงคาในหนาถดไป</A>"; ?>

2. หลงจากนนสรางไฟล show.php ขนมาแลวเขยนโคดดงน

<? echo "แสดงคาตวแปล<BR>"; echo $web; ?>

3. หลงจากนนลองทดสอบโดย Run ไฟลจาก index.php ผลทได

แสดงคาตวแปล Webthaidd.Com

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

ขนตอนกาทา 1. ใหเราสราง Database ขนมากอนเพอใชในการเกบคา user และ pass

# phpMyAdmin MySQL-Dump # http://phpwizard.net/phpMyAdmin/ # # Host: localhost Database : test # --------------------------------------------------------

# # Table structure for table 'user_login' #

CREATE TABLE user_login ( id int(11) NOT NULL auto_increment, user_log char(15) NOT NULL, pass_log char(15) NOT NULL, PRIMARY KEY (id) );

# # Dumping data for table 'user_login' #

INSERT INTO user_login VALUES ( '1', 'guest', '1234');

2. หลงจากนนใหเราสรางฟอรม Login ในทนผมใชชอไฟลวา form_login.php (* ถาฟอรมทคณ

Page 22: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

สรางนนไมใชภาษา php สามารถ save เปนไฟล HTML ได)

ใครงงดโคดทน form_login.php

<? session_start(); ?> <html> <head> <title>webthaidd.com</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="check.php"> User : <input type="text" name="username_log"> //ชอตวแปลทใชในการสงคา <br> Pass : <input type="password" name="password_log"> //ชอตวแปลทใชในการสงคา

<? echo $code_error;?> <br> <input type="submit" name="Submit" value="Login"> </form> </body> </html>

3. ทาการเขยนโคดทไฟล check.php เพอตรวจสอบการ Login ของผใช

<? session_start(); $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน $dbname = "test"; //ชอฐานขอมล $tblname = "user_login"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได");

// เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได");

// คาสง SQL และสงใหทางาน $sql = "select * from $tblname where user_log='$username_log' and pass_log='$password_log'"; //เชคคาขอมลทสงมาจากฟอรม

Page 23: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

$dbquery = mysql_db_query($dbname, $sql);

// หาจานวนเรกคอรดขอมล $num_rows = mysql_num_rows($dbquery); if($num_rows==1){ header("location:http://www.webthaidd.com"); //ไปไปตามหนาทคณตองการ }else { $code_error="<BR><FONT COLOR=\"red\">ขอมลทคณกรอกไมถกตอง กรณา Login ใหมอกครง</FONT>"; session_register("code_error"); header("location: form_login.php"); //ไมถกตองใหกบไปหนาเดม } ?>

4. หลงจากนนลองทดสอบด user=guest pass=1234 - ถาถกตองจะเขาไปทเวบ webthaidd หรอหนาทเรากาหนดนนๆ - ถาผดจะแจง error ตามขอความทเรากาหนด

การเปลยนตวเลขเปนตวอกษร โคดแปลงตวเลขเปนตวอกษร

<? $number=25621.18; //ใสตวเลขทน $digit=array('ศนย','หนง','สอง','สาม','ส','หา','หก','เจด','แปด','เกา','สบ'); $num=array('','สบ','รอย','พน','หมน','แสน','ลาน'); $number = explode(".",$number); $c_num[0]=$len=strlen($number[0]); $c_num[1]=$len2=strlen($number[1]); $convert=''; //คดจานวนเตม for($n=0;$n< $len;$n++){ $c_num[0]--; $c_digit=substr($number[0],$n,1); if($c_num[0]==0&& $c_digit==1)$digit[$c_digit]='เอด'; if($c_num[0]==0&& $c_digit==2)$digit[$c_digit]='สอง'; if($c_num[0]==1&& $c_digit==2)$digit[$c_digit]='ย'; if($c_num[0]==1&& $c_digit==1)$digit[$c_digit]=''; $convert.=$digit[$c_digit]; $convert.=$num[$c_num[0]]; } $convert .= 'บาท'; if($number[1]==''){ $convert .= 'ถวน'; } //คดจดทศนยม for($n=0;$n< $len2;$n++){ $c_num[1]--; $c_digit=substr($number[1],$n,1); if($c_num[1]==0&& $c_digit==1)$digit[$c_digit]='หนง'; if($c_num[1]==0&& $c_digit==2)$digit[$c_digit]='สอง';

Page 24: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

if($c_num[1]==1&& $c_digit==2)$digit[$c_digit]='ย'; if($c_num[1]==1&& $c_digit==1)$digit[$c_digit]=''; $convert.=$digit[$c_digit]; $convert.=$num[$c_num[1]]; } if($number[1]!='')$convert .= 'สตางค'; echo $convert.=''; ?>

หลงจากนนเพอนๆ ลองทดสอบดนะครบ จากโคดนจะไดผมดงน กลองใชดนะครบ ตชมการเขยนไดท Board อาจมคนเขยนดกวาผมกได :) สองหมนหาพนหกรอยยสบเอดบาทสบแปดสตางค

การแปลงฐานขอมลจาก Access มาใสใน MySQL การแปลงฐานขอมลจาก Access มาใสใน MySQL หลายคนถามเขามา กเปนปญหาแนครบถาเราจะมานงคยขอมลใหมทงหมด แลวยงโปรแกรมเมอรอยางเราๆ คงไมอยากทจะมานงพมพ สเราแปลงขอมลแลว Dump ทเดยวเลยดกวา มาขนตอนการทา ขนตอนการทา * ขอทดสอบจากฐานขอมล Access ของผมเพอความเขาใจทตรงกน Download-Access 1. เราจะตองทราบโครงสรางขอมลจาก Access กอนเพอจะไดนาไปสรางฐานขอมลใน MySQL โครงสรางฐานขอมล Access

2. ใหเราทาการสรางฐานขอมล MySQL กอนโดยมโครงสรางดงน * โดยททง 2 ฐานขอมลจะตองมโครงสรางทเหมอน หรอคลายกน

# # Table structure for table 'customer' #

CREATE TABLE customer ( id char(3) NOT NULL, name char(30) NOT NULL, surname char(30) NOT NULL, address char(50) NOT NULL, PRIMARY KEY (id) );

3. เมอเราสรางฐานขอมล MySQL เรยบรอยแลว เรากทาการ Export ขอมล Access มาเปน Text File เพอทจะนาขอมลท Export มานไปใสใน MySQL อกทหนง โดยขนตอนมดงน 3.1 เปดเอกสาร Access ขนม

Page 25: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

3.2 Click ขวาทตารางในทนผมใชตาราง Customer เลอกทเมน บนทกเปน/การสงออก

3.3 จากนนจะมหนาตางการบนทกมาใหเราเลอกใหเราคลก ตกลง

3.4 ใหเลอกชนดในการบนทกเปน Text File

Page 26: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

3.5 จะมหนาตางขนมาใหเราเลอกรปแบบการ Export ใหเราเลอก Next เพอทาขนตอนตอไป

3.6 จากนนจารปแบบวาเราใชเงอนไขอะไรบางในการกาหนด Field Export ในทนผมใช Comma เปนตวขนเมอจบ Field, ใชสญลกษณฟนหน ขอมลระหวาง Field

Page 27: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

4. หลงจากทเราได Text File แลว (แตถาใครไมได Download ทน) ใหเราเปด phpMyAdmin ขนมา ในทนผมใชเวอรชน 2.5.4 เลอกฐานขอมลทเราสราง ใหเราเลอกเครองมอ แทรกขอมลจากไฟลขอความเขาไปในตาราง โดยเครองมอจะอยดานลางสดของหนา

Page 28: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

5. เลอก Text File แลวกาหนดรปแบบในการ Dump ขอมลลง MySQL

6. จากนนโปรแกรมจะบอกวาทาการ Dump ไปแลวกแถว

Page 29: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

7. ลองเปดดฐานขอมลวามขอมลมาหรอไม

##### กจบลงไปแลวสาหรบการแปลงฐานขอมล Access --> MySQL ยาวหนอยนะครบ ขอใหสนกกบการทาเวบ

ปองกนผใชกรอก E-mail มวดวย Java ปองกนผใชกรอก E-mail มวดวย Java หลายครงทพวกเราชาวเวบมาสเตอรสรางฟอรมใหผใชกรอกใบสมครตางๆ บางคนกกลวเรองการกรอกขอมลอยางมาก E-mail กเปนสวนหนง คราวนเราจะมากนผใชกรอกเมลแตลมใส @ อะไรแบบนน มาดขนตอนการทา ขนตอนการทา 1. สรางฟอรมตามทเราตองการ ในทนผมทดสอบแคเมลอยางเดยวนะครบเพอกนการสบสน ???

2. หลงจากนนใหเรานาโคด Java ไปวางในสวนของ Head ในโคด HTML

Page 30: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<script type="text/javascript"> function validate() { form_mail=document.form1 mail=form_mail.email.value.indexOf("@") submitOK="True" if (mail==-1) { alert("คณยงไมไดใส (Email)") submitOK="False" } if (submitOK=="False") { return false } } </script>

3. หลงจากนนเขยนโคดท Tag Form เพอเรยกใช Function

<form name="form1" method="post" action="" onsubmit="return validate()">

4. หลงจากนนกลองทดสอบดครบ ถากรอกโดยไมม @

5. ถาใครงงดโคดทงหมดทน

Page 31: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<html> <head> <title>webthaidd.com</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> <script type="text/javascript"> function validate() { form_mail=document.form1 mail=form_mail.email.value.indexOf("@") submitOK="True" if (mail==-1) { alert("คณยงไมไดใส (Email)") submitOK="False" } if (submitOK=="False") { return false } } </script> </head>

<body bgcolor="#FFFFFF"> <form name="form1" method="post" action="" onsubmit="return validate()"> E-mail <input type="text" name="email"> <input type="submit" name="Submit" value="Submit"> </form> </body> </html>

6. ขอใหสนกกบการทาเวบ การนา User Online ไปใชงาน การนา User Online ไปใชงาน 1. หลงจากทเราเขยน Script User Online เสรจแลว ใหเรา Include ไฟล User Online ไปไวทไฟลทเราตองการแสดง ดงโคดตวอยาง

<? include('user_online.php');?> <html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body bgcolor="#FFFFFF">

</body> </html>

Page 32: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

2. หลงจากนนใหใส Comment บรรทดทผมกาหนดไว

//echo "กาลงใชงานอย : $user_online คน"; //ทดสอบการแสดงผล ถานาไปใชใหปด หรอลบบรรทดนออกไป

3. หลงจากนนเราเขยนโคด php เพมลงไป ณ ตาแหนงทเราตองการแสดงผล ในทนผมจะยกตวอยางการแสดงใน Table ดงโคดตวอยาง

<? include('user_online.php');?> <html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body bgcolor="#FFFFFF"> <table width="150" border="0" cellpadding="0" bgcolor="#000000"> <tr> <td bgcolor="#FF9900" align="center">กาลงใชงาน <? echo $user_online;?> ทาน </td> </tr> </table> </body> </html>

4. ผลลพธทได

5. กจบลงไปแลวกบ User Online ลองนาไปใชกนด ขอใหสนกกบการทาเวบ การทา User Online การทา User Online กเปนอกเครองมอหนงทหลายๆ เวบไซตใชเชคผทเขามาเยยมชมเวบเราวากาลงใชงานอยกคน และอกหลายๆ คนกไปโหลด Script มาใชแตยงไมเคยเขยนเอง ผมกเลยยก Script นมาลองใหเขยนกนด มาดขนตอนการเขยนกนเลย

ขนตอนการทา User Online 1. สรางฐานขอมล Mysql เพอเกบขอมลของผเยยมชม

Page 33: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

# phpMyAdmin MySQL-Dump # http://phpwizard.net/phpMyAdmin/ # # Host: localhost Database : test # --------------------------------------------------------

# # Table structure for table 'user_online' #

CREATE TABLE user_online ( session char(100) NOT NULL, time int(11) DEFAULT '0' NOT NULL );

2. หลงจากทเราสราง Database และ ตาราง เรยบรอยแลว เรากสรางไฟล PHP ขนมาแลวเขยนโคดดงน

<? session_start(); $session=session_id(); $time=time(); $time_check=$time-600; //กาหนดเวลาในทนผมกาหนด 10 นาท $hostname = "localhost"; $user = ""; $password = ""; $dbname = "test"; //กาหนด Database $tblname = "user_online"; //กาหนดตารางทเกบขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $session_db = mysql_query("select count(*) from $tblname where session='$session'"); $session_check = mysql_result($session_db,0); if ($session_check == "0") { mysql_query("insert into $tblname values ('$session',$time)"); } else { mysql_query("update $tblname set time='$time' where session='$session'"); } $count_user = mysql_query("select count(*) from $tblname"); $user_online = mysql_result($count_user,0); echo "กาลงใชงานอย : $user_online คน"; //ทดสอบการแสดงผล ถานาไปใชใหปด หรอลบบรรทดนออกไป mysql_query("delete from $tblname where time<$time_check"); mysql_close(); ?>

3. เพยงเทานเรากได User Online มาใชในเวบของเราแลว แตใครจะนาไปพฒนาตอกไดนะครบแลวสงมาใหดกนบาง

การแสดงคาของ Array การแสดงคาของ Array หลายคนอาจจะอยากเหนวาขอมลทเกบของ Array นนเกบอยางไร เรากใชคาสงดได มาดการทา

Page 34: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

คาสงทใช

print_r(คาตวแปล);

การใชงาน 1. สรางไฟล php แลวเขยนคาสงนเพอทดสอบ

<? $test_array=array("red","blue","Hello","yellow"); print_r($test_array); ?>

2. หลงจากนนลอง Run ดวาไดผลดงตวอยางหรอไม

Array ( [0] => red [1] => blue [2] => Hello [3] => yellow )

3. เพยงเทานเรากสามารถดขอมลของ Array ไดแลว

การสราง webboard (ฐานขอมล) การสราง webboard ตอนท 1 เนองจากบทเรยนนยาวผมกเลยตดเปนตอนๆ เพอความเขาใจ *เวบบอรดนไมเนนสวย ผมขอเนนหลกการในการสราง เพอความเขาใจนาไปพฒนาเปนเวบบอรดอนๆ ตอไป มาดขนตอนการทาเลยดกวา

สรางฐานขอมล ฐานขอมล Quiz เปนตารางทเราใชสาหรบเกบขอมลคาถาม

CREATE TABLE quiz ( id_quiz int(11) NOT NULL auto_increment, title varchar(50) NOT NULL, name varchar(30) NOT NULL, message text NOT NULL, email varchar(50) NOT NULL, date_q varchar(10) NOT NULL, count_q int(11) DEFAULT '0' NOT NULL, PRIMARY KEY (id_quiz) );

ฐานขอมล Ans เปนตารางทใชสาหรบเกบคาตอบทผใชตอบ

CREATE TABLE ans ( id_ans int(11) NOT NULL auto_increment, id_quiz int(11) DEFAULT '0' NOT NULL, name varchar(30) NOT NULL, message text NOT NULL, email varchar(50) NOT NULL, date_a varchar(10) NOT NULL, PRIMARY KEY (id_ans) );

ขนตอนการสรางฐานขอมลโดยใชคาสง SQL 1. เปด phpmyadmin ขนมา พรอมกบใสชอฐานขอมลทเราตองการสรางลงในชอง สรางฐานขอมล

Page 35: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

2. หลงจากนนเรากจะไดฐาานขอมลทชอ webboard ขนมาจากนนใหเลอกท SQL เพอทจะสรางตารางตอไป

3. หลงจากนนนาคาสง SQL ดานบนใสลงในชอง SQL แลวกดทปม ลงมอ

Page 36: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

4. หลงจากนนกจะมหนาตางแจงการสรางตาราง

5. เพยงเทานเรากจะไดตารางทนาไวสาหรบเกบขอมลเวบบอรด ทเราจะสรางตอไป

การสราง webboard (config.inc.php) การสราง webboard ตอนท 2 เปนการสรางไฟล config.inc.php เพอใชในการตดตอฐานขอมลเพอทเราจะไดไมตองประกาศฐานขอมลบอยครง ขนตอนการทา 1. สรางไฟลเอกสาร php ขนมาแลวทาการ save ใหเปนไฟล config.inc.php แลวทาการเขนโคดดงน

<? $host = "127.0.0.1"; $user = ""; //user ฐานขอมล $passwd = ""; //pass ฐานขอมล

Page 37: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

$dbname = "webboard"; mysql_connect($host,$user,$passwd) or die("ตดตอ Host ไมได"); mysql_select_db($dbname) or die("ตดตอฐานขอมลไมได"); ?>

2. หลงจากนนเวลาทเราเรยกใชใหใชคาสง include(); รปแบบการใช

include('config.inc.php');

3. ดงนนทกหนาถามการใชฐานขอมลกใชคาสงนทกครง ในตอนตอไปเปนการสรางคาสงการตงคาถาม

การสราง weboard (ตงกระท) การสราง weboard ตอน 3 ในตอนนจะเปนการเขยนโคดเพอใชในการ Post ขอความลงใน เพอใชในการตงกระท

ขนตอนการทา 1. หลงจากทเราไดสรางฐานขอมลเรยบรอยแลว เรากสราง Form เพอใชในการตงคาถาม ในทนผมตงชอไฟลวา post.php

โคดทใชในการสราง Form post.php

<html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body> <form name="form1" method="post" action="post_q.php"> <strong><u>รวมตงคาถาม</u></strong><br>

Page 38: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

หวขอกระท<br> <input name="title" type="text" id="title" size="30"> <br> ชอ<br> <input name="name" type="text" id="name" size="30"> <br> รายละเอยด<br> <textarea name="message" cols="30" rows="5" wrap="VIRTUAL" id="message"></textarea> <br> อเมล<br> <input name="email" type="text" id="email" size="30"> <br> <input type="submit" name="Submit" value="ตงคาถาม"> <input type="reset" name="Submit2" value="ยกเลก"> </form> </body> </html>

3. หลงจากนนเรามาเขยนโคด PHP เพอใชในการ Post ขอความผมตงชอไฟลวา post_q.php

<? include('config.inc.php'); $date_q=date("d/m/y"); $sql = "insert into quiz (title, name, message, email, date_q) values ('$title', '$name', '$message', '$email', '$date_q')"; // กาหนดคาสง SQL เพอเพมขอมลแบบคยในคาสง SQL $dbquery = mysql_db_query($dbname, $sql);

// ปดการตดตอฐานขอมล mysql_close(); echo "<Font Size=4><B>คาถามของ $name ถกตงเรยบรอยแลว</B><BR>"; echo "<A HREF=\"webboard.php\">กลบไปหนากระทหลก</A>"; ?>

4. หลงจากนนลองทดสอบ Post ขอความ

Page 39: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

5. เปนอยางไรกนบาง ตอนนกเปนโครงสรางมาบางสวนแลว กตดตามตอนตอไปนะครบเปนการแสดงผล

การสราง webboard (แสดงกระท) การสราง webboard ตอน 4 หลงจากทผานมา 3 ตอนแลว ตอนนเปนการเขยนคาสงเพอนาขอมลจากกระททเราตงมาแสดงผล *แตยง link ไมไดนะครบตอนนเพอแสดงผลกอนเพอความเขาใจ ขนตอนการทา 1. สรางไฟลเอกสาร php ขนมาตงชอวา webboard.php แลวเขยนโคดดงน

<html> <head> <title></title>

Page 40: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body> <u><strong>แสดงกระท webthaidd.com</strong></u><strong> </strong>[<a href="post.php">ตงกระทใหม</a>]<br> <? include('config.inc.php'); $sql = "select * from quiz order by id_quiz desc"; $dbquery = mysql_db_query($dbname, $sql);

// หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); // เรมวนรอบแสดงขอมล $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id_quiz = $result[id_quiz]; $title = $result[title]; $name = $result[name]; $message = $result[message]; $email = $result[email]; $date_q = $result[date_q]; $count_q = $result[count_q];

echo "<FONT COLOR=\"red\"><b>".sprintf("%05d", $id_quiz)."</b></FONT>"; //แสดงหมายเลขแบบมเงอนไข echo " $title <FONT COLOR=\"blue\">$date_q</FONT> $name<BR>";

$i++; } // ปดการตดตอฐานขอมล mysql_close(); ?> </body> </html>

2. หลงจากนนลองทดสอบ

3. เปนอยางไรกนบางครบมาถงตอนนแลว คอยตดตามในตอนตอไปนะครบเปนการสราง Link จาก

Page 41: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

กระทเพอไปตอบคาถาม การสราง webboard (การสราง Link ใหกบกระท) การสราง webboard ตอน 5 เปนการสราง Link ใหกบกระทเพอทเราจะไดเขาไปตอบคาถามได โดยการเขยนจะตอจากตอนทแลวนะครบ เราจะแกไขไฟล webboard.php นะครบ มาดการทากนเลยนะครบ ขนตอนการทา 1. เปดไฟล webboard.php ขนมาเพอทาการแกไข *ผมจะมารคสวนทตองแกใหนะครบเพอไมใหเปนการงง

<html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body> <u><strong>แสดงกระท webthaidd.com</strong></u><strong> </strong>[<a href="post.php">ตงกระทใหม</a>]<br> <? include('config.inc.php'); $sql = "select * from quiz order by id_quiz desc"; $dbquery = mysql_db_query($dbname, $sql);

// หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); // เรมวนรอบแสดงขอมล $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id_quiz = $result[id_quiz]; $title = $result[title]; $name = $result[name]; $message = $result[message]; $email = $result[email]; $date_q = $result[date_q]; $count_q = $result[count_q];

echo "<FONT COLOR=\"red\"><b>".sprintf("%05d", $id_quiz)."</b></FONT>"; //แสดงหมายเลขแบบมเงอนไข echo " <A HREF=\"show_ans.php?id_quiz=$id_quiz\" target=\"$id_quiz\">$title</A> <FONT COLOR=\"blue\">$date_q</FONT> $name<BR>"; //เราใส Tag Link ลงไปนะครบ แตเราฝากคากระทไปดวยนะครบจะไดตอบถกขอ

$i++; } // ปดการตดตอฐานขอมล mysql_close(); ?> </body> </html>

Page 42: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

2. หลงจากนนลองทดสอบดนะครบ ลองสงเกตท Status นะครบเวลาทเราเอา mouse ไปชท link จะบอกหมายเลขกระท

Staus Link

3. ครบกลองใส link ดนะครบ ในตอนจบการสรางเวบบอรด กคอยตดตามกนนะครบ การสราง webboard (การตอบกระท) การสราง webboard ตอน 6 กเปนการสรางในสวนการตอบกระท ในสวนนอาจจะยาวหนอยแตจะเปนโคดเสยสวนใหญ มาดการทาเลยดกวา ขนตอนการทา 1. สรางไฟลเอกสาร show_ans.php แลวเขยนโคดดงน

<html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head>

<body> <u><strong>แสดงกระท webthaidd.com</strong></u><strong> </strong>[<a href="post.php">ตงกระทใหม</a>]<br> <? include('config.inc.php'); //หารายระเอยดของคาถาม $sql = "select * from quiz where id_quiz=$id_quiz"; $dbquery = mysql_db_query($dbname, $sql); $result = mysql_fetch_array($dbquery); $id_quiz = $result[id_quiz]; $title = $result[title]; $name = $result[name];

Page 43: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

$message = $result[message]; $email = $result[email]; $date_q = $result[date_q]; echo sprintf("<B><FONT COLOR=\"Blue\">%05d</FONT></B>", $id_quiz). " คาถามจาก $name <FONT COLOR=\"Red\">$date_q</FONT><BR>"; echo "<u>รายละเอยดคาถาม</u> : $message<HR>";

//แสดงคาตอบ $sql = "select * from ans where id_quiz=$id_quiz order by id_ans"; $dbquery = mysql_db_query($dbname, $sql);

// หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); if($num_rows==''){ echo "ยงไมมใครตอบคาถาม"; } $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id_ans = $result[id_ans]; $id_quiz = $result[id_quiz]; $name = $result[name]; $message = $result[message]; $email = $result[email]; $date_a = $result[date_a]; $n++; echo "<FONT COLOR=\"red\"><b>คาตอบท $n</b></FONT> จาก $name <FONT COLOR=\"#FF6600\">$date_a</FONT><BR>"; echo "<u>รายละเอยดคาตอบ</u> : $message<HR color=#FFCC00>";

$i++; } // ปดการตดตอฐานขอมล mysql_close(); ?> <form name="form1" method="post" action="reply.php"> <strong><u>รวมตอบคาถาม</u></strong><br> ชอ<br> <input name="name" type="text" id="name" size="30"> <br> รายละเอยด<br> <textarea name="message" cols="30" rows="5" wrap="VIRTUAL" id="message"></textarea> <br> อเมล<br> <input name="email" type="text" id="email" size="30"> <br> <input type="submit" name="Submit" value="ตงคาถาม"> <input type="reset" name="Submit2" value="ยกเลก"> <input type="hidden" name="id_quiz" value="<? echo $id_quiz;?>"> </form> </body> </html>

Page 44: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

2. หลงจากนนสรางไฟลเพมขอมลลงในตาราง ans ผมใหชอไฟลวา reply.php

<? include('config.inc.php'); $date_a=date("d/m/y"); $sql = "insert into ans (id_quiz, name, message, email, date_a) values ($id_quiz, '$name', '$message', '$email', '$date_a')"; // กาหนดคาสง SQL เพอเพมขอมลแบบคยในคาสง SQL $dbquery = mysql_db_query($dbname, $sql);

// ปดการตดตอฐานขอมล mysql_close(); echo "<Font Size=4><B>ขอบคณสาหรบคาตอบ $name </B><BR>"; echo "<A HREF=\"show_ans.php?id_quiz=$id_quiz\">กลบไปหนากระท ".sprintf("<B><FONT COLOR=\"Blue\">%05d</FONT></B>", $id_quiz)."</A>"; ?>

3. หลงจากนนลองทดสอบ

Page 45: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

4. กจบลงไปแลวนะครบเกยวกบการสรางเวบบอรด ใครเสรจแลวกสงกนมาใหดบางนะครบ ขอใหสนกกบการทาเวบ

Page 46: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

ขอสงสยเกยวกบ PHPMyadmin บน server ทเชา ขอสงสยเกยวกบ PHPMyadmin บน server ทเชา จรงๆ แลว phpmyadmin จะถกตดตงอยท server แลวแตหลายคนกงงวาจะเรยกผานทไหน เรามาดกน

ขนตอนการใช PHPmyadmin บน Server 1. ทาการ Login ผานระบบ Admin ของ Host ทเราเชาอย ในทนกแลวแต Host ทเราเชานนๆ ในทนผมจะยกตวอยางจากทผมเชาไปแลวหลงจากทเรา Login เขาไปจะมหนาตางคลายกนน

2. หลงจากนนเรากเขาไปเลอกทเครองมอ Mysql Admin Tool

Page 47: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

3. หลงจากนนกจะมหนาตาง Login เราก Login เขาไปใชงาน phpmyadmin ไดเลยครบ

4. ลองนาไปใชทดสอบดกบ Host ทเราเชาอยดนะครบ แตอาจจะไมเหมอนกนนะครบกขนอยกบวา Host ทเชาเขาใช Soft อะไรเปนตวจดการ

การนาขาวจากเวบอนมาแสดงทเวบเรา เทคนคการนาขาวจากเวบอนมาแสดงทเวบเรา ในทนเราจะทาโคดจากเวบ Thaisarn.com มาใชงานมาดขนตอนการทากนเลย ขนตอนการทา 1. สรางไฟล Config กอนเพอใหการโหลดขาวสารไดเรวขน ในทนผมตงชอไฟลวา thaisarnnewsclass.inc

<?php

Page 48: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

// Function "thaidate" ทาหนาทแปลง string วนททอยในรปแบบ "dd/mm/yyyy" ใหกลายเปนวนทในภาษาไทย

function thaidate($today) { list($tdate, $tmonth, $tyear) = explode("/", $today); $tyear += 543;

switch($tmonth) { case "01": $tmonth = "ม.ค."; break; case "02": $tmonth = "ก.พ."; break; case "03": $tmonth = "ม.ค."; break; case "04": $tmonth = "เม.ย."; break; case "05": $tmonth = "พ.ค."; break; case "06": $tmonth = "ม.ย."; break; case "07": $tmonth = "ก.ค."; break; case "08": $tmonth = "ส.ค."; break; case "09": $tmonth = "ก.ย."; break; case "10": $tmonth = "ต.ค."; break; case "11": $tmonth = "พ.ย."; break; case "12": $tmonth = "ธ.ค."; break; } // switch

return "$tdate $tmonth $tyear"; } // function

// สวนทกาหนดการทางานของ ThaiSarnNews Class

class ThaiSarnNews {

// กาหนด property ตางๆของ ThaiSarnNews Class ไมควรจะ set property เหลานโดยตรง

var $version = "0.9"; var $newsItems = array(); var $curTag = ""; var $itemCount = 0;

var $newsTitle; var $newsLink; var $newsDescription; var $newsSource; var $newsSourceLink;

Page 49: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

var $newsDate; var $newsCategory; var $newsKeywords; var $newsLanguage;

var $xmlLocation = ""; var $newsErrors = ""; var $headingStyle; var $entryStyle; var $endingStyle; var $noNewsMesg; var $reversedDateStyle;

var $suppressErrors;

// กาหนด Methods ตางๆของ ThaiSarnNews Class

// Class constructor ซงทาการ initialise คา property ตางๆ

function ThaiSarnNews() { $this->newsItems = array(); $this->curTag = ""; $this->itemCount = 0;

$this->newsTitle = array(); $this->newsLink = array(); $this->newsDescription = array(); $this->newsSource = array(); $this->newsSourceLink = array(); $this->newsDate = array(); $this->newsCategory = array(); $this->newsKeywords = array(); $this->newsLanguage = array();

// Set default style $this->reversedDateStyle = false; $bgcolor = "#9999cc"; // The color of the table frame. $fontName = "Ms Sans Serif,Thonburi"; $fontSize = "2";

$tableEntry = "<TR><TD ALIGN=\"left\" VALIGN=\"bottom\" WIDTH=\"12%\"><FONT face=\"$fontName\" size=\"$fontSize\"><XMLNews:Date></FONT></TD>"; $tableEntry .= "<TD ALIGN=\"left\" VALIGN=\"bottom\" WIDTH=\"40%\"><A HREF=\"<XMLNews:Link>\">"; $tableEntry .= "<FONT face=\"$fontName\" size=\"$fontSize\"><XMLNews:Title></FONT></A></TD>"; $tableEntry .= "<TD ALIGN=\"left\" VALIGN=\"bottom\" WIDTH=\"30%\"><A HREF=\"<XMLNews:SourceLink>\">"; $tableEntry .= "<FONT face=\"$fontName\" size=\"$fontSize\"><XMLNews:Source></FONT></A></TD>"; $tableEntry .= "<TD ALIGN=\"left\" VALIGN=\"bottom\" WIDTH=\"18%\"><FONT face=\"$fontName\" size=\"$fontSize\"><XMLNews:Category></FONT></TD></TR>";

$noNewsMesg = "<P><FONT face=\"$fontName\" size=\"2\">ไมมขาวใหมอยในระบบ

Page 50: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

</FONT>"; $tableHeading = "<TABLE BORDER=\"0\" WIDTH=\"98%\">"; $tableEnding = "</TABLE>";

$this->headingStyle = $tableHeading; $this->entryStyle = $tableEntry; $this->endingStyle = $tableEnding; $this->noNewsMesg = $noNewsMesg; }

// Functions for news parser.

function startElement($parser, $name, $attrs) {

// ถา tag เปน "NEWS" จะมการ initialize คาตางๆใน array สาหรบเกบขอมลขาว

if ($name == "NEWS") { $this->newsTitle[$this->itemCount] = ""; $this->newsLink[$this->itemCount] = ""; $this->newsDescription[$this->itemCount] = ""; $this->newsSource[$this->itemCount] = ""; $this->newsSourceLink[$this->itemCount] = ""; $this->newsDate[$this->itemCount] = ""; $this->newsCategory[$this->itemCount] = ""; $this->newsKeywords[$this->itemCount] = ""; $this->newsLanguage[$this->itemCount] = ""; }

// จาคา tag ไวในตวแปล $curTag

$this->curTag = "$name"; }

function endElement($parser, $name) {

// ถา tag เปน "NEWS" จะมการเพมคา itemCount (จานวนขาว)

if ($name == "NEWS") { $this->itemCount++; }

$this->curTag = ""; }

function characterData($parser, $data) { $titleKey = "TITLE"; $linkKey = "LINK"; $descKey = "DESCRIPTION"; $dateKey = "PUBDATE"; $sourceKey = "SOURCE"; $sourceLinkKey = "SOURCELINK"; $cateKey = "CATEGORY"; $keywKey = "KEYWORD"; $langKey = "LANGUAGE";

// ถา tag เปน "TITLE" ใหนาเอาขอมลไปเกบไวใน array "newsTitle" ในตาแหนงขาวปจจบน

Page 51: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

ฯลฯ

if ($this->curTag == $titleKey) { $this->newsTitle[$this->itemCount] .= $data; } elseif ($this->curTag == $linkKey) { $this->newsLink[$this->itemCount] .= $data; } elseif ($this->curTag == $descKey) { $this->newsDescription[$this->itemCount] .= $data; } elseif ($this->curTag == $dateKey) { $this->newsDate[$this->itemCount] .= $data; } elseif ($this->curTag == $sourceKey) { $this->newsSource[$this->itemCount] .= $data; } elseif ($this->curTag == $sourceLinkKey) { $this->newsSourceLink[$this->itemCount] .= $data; } elseif ($this->curTag == $cateKey) { $this->newsCategory[$this->itemCount] .= $data; } elseif ($this->curTag == $keywKey) { $this->newsKeywords[$this->itemCount] .= $data; } elseif ($this->curTag == $langKey) { $this->newsLanguage[$this->itemCount] .= $data; } }

// Functions for other parsers.

var $listTag = ""; var $listCount; var $listArray;

function startListElement($parser, $name, $attrs) { if ($name == "CATEGORIES" || $name == "SOURCES") { $this->listTag = ""; $this->listCount = 0; $this->listArray = array(); } elseif ($name == "ITEM") { $this->listTag = "ITEM"; } }

function endListElement($parser, $name) { if ($name == "ITEM") { $this->listCount += 1; } }

function characterListData($parser, $data) { $this->listArray[$this->listCount] = $data; }

// Other functions.

function unsuppressErrors () { $this->suppressErrors = false;

return true;

Page 52: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

}

function getErrors () { return $this->newsErrors; }

function setLocation($sourceLocation) { $this->xmlLocation = $sourceLocation; return true; }

function reset() { $this->newsItem = array(); $this->curTag = ""; $this->itemCount = 0; }

function setExternalLoader ($loadingCmd, $tmpfile) { $this->useExternalLoader = true; $this->externalLoadingCmd = $loadingCmd; $this->tmpFileLocation = $tmpfile;

return true; }

function performParsing ($xmlSource, $startHdr, $endHdr, $chrHdr) {

// 1. ดงขอมลจากไทยสาร: PHP สามารถเปดไฟลทเปน URL ไดโดยใชคาสง fopen ฯลฯ

if (!($fp = fopen($xmlSource,"r"))) { $this->newsErrors .= "Cannot open $xmlSource for reading\n"; return false; }

// 2. ทาการ create parser, เซตให object ตวน ใช parser ทสรางขนมา และ // เซต option ให parser convert tag ทอานไดจากเอกสารใหเปน ตวใหญ (capital letters) ใหหมด

$this->xml_parser = xml_parser_create(); xml_set_object($this->xml_parser, &$this); xml_parser_set_option($this->xml_parser, XML_OPTION_CASE_FOLDING, true);

// 3. ตงคา event handlers สาหรบ tag เปด tag ปด และ character data (ดคาอธบาย event-based parsing)

xml_set_element_handler($this->xml_parser, $startHdr, $endHdr); xml_set_character_data_handler($this->xml_parser, $chrHdr);

// 4. ทาการ parse เอกสาร XML โดยอานขอมลทละ 4096 byte จากไฟล

while ($data = fread($fp, 4096)) { if (!xml_parse($this->xml_parser, $data, feof($fp))) { $this->newsErrors .= "XML error: " . xml_error_string(xml_get_error_code($this-

Page 53: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

>xml_parser)) . " at line " . xml_get_current_line_number($this->xml_parser) . "\n"; return false; } }

// 5. เมอทาการ parse เอกสารเสรจแลวก free ตว parser ปดแฟมเอกสารและออกจาก function

xml_parser_free($this->xml_parser); fclose($fp);

return true; }

function parse() { $xmlSource = $this->xmlLocation;

return $this->performParsing ($xmlSource, "startElement", "endElement", "characterData"); }

function &getSourceList() { $success = $this->performParsing ("http://www.thaisarn.com/services/distributor/xml_distributor.php?getSourceList=''", "startListElement", "endListElement", "characterListData");

return $this->listArray; }

function &getCategoryList() { $success = $this->performParsing ("http://www.thaisarn.com/services/distributor/xml_distributor.php?getCategoryList=''", "startListElement", "endListElement", "characterListData");

return $this->listArray; }

function getParseError() { return $this->parseError; }

function getNumNews() { return $this->itemCount; }

function getIthNews($i) { if ($this->reversedDateStyle) { list($m, $d, $y) = explode("/", $this->newsDate[$i]); $newsdate = sprintf("%02d",$d) . "/" . sprintf("%02d",$m) . "/" . $y; } else { $newsdate = $this->newsDate[$i]; }

return array( "title" => $this->newsTitle[$i],

Page 54: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

"source" => $this->newsSource[$i], "link" => $this->newsLink[$i], "category" => $this->newsCategory[$i], "description" => $this->newsDescription[$i], "sourceLink" => $this->newsSourceLink[$i], "pubdate" => $newsdate, "keyword" => $this->newsKeywords[$i], "language" => $this->newsLanguage[$i] ); }

function setEntryStyle ($str) { $this->entryStyle = $str; return true; }

function setIterationStyle ($str) { $this->entryStyle = $str; return true; }

function setHeadingStyle ($str) { $this->headingStyle = $str; return true; }

function setEndingStyle ($str) { $this->endingStyle = $str; return true; }

function setReversedDateStyle ($bool) { $this->reversedDateStyle = $bool; return true; }

function transformNews () { $htmlResult = "";

if($this->itemCount == 0) { $htmlResult = $this->noNewsMesg; } else { $htmlResult = $this->headingStyle; $actualEntryNo = 0;

for($row = 0; $row < ($this->itemCount); $row++) { if ($this->reversedDateStyle) { list($m, $d, $y) = explode("/", $this->newsDate[$row]); $newsdate = sprintf("%02d",$d) . "/" . sprintf("%02d",$m) . "/" . $y;

Page 55: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

$newsdate = thaidate($newsdate); } else { $newsdate = thaidate($this->newsDate[$row]); }

$newslink = $this->newsLink[$row]; $newstitle = $this->newsTitle[$row]; $newssource = $this->newsSource[$row]; $newscategory = $this->newsCategory[$row]; $newskeywords = $this->newsKeywords[$row]; $newssourcelink = $this->newsSourceLink[$row];

if ($newstitle != "") { $thisEntry = $this->entryStyle; $thisEntry = str_replace("<XMLNews:Date>", "$newsdate", $thisEntry); $thisEntry = str_replace("<XMLNews:Link>", "$newslink", $thisEntry); $thisEntry = str_replace("<XMLNews:Title>", "$newstitle", $thisEntry); $thisEntry = str_replace("<XMLNews:Source>", "$newssource", $thisEntry); $thisEntry = str_replace("<XMLNews:Category>", "$newscategory", $thisEntry); $thisEntry = str_replace("<XMLNews:Keyword>", "$newskeywords", $thisEntry);

if ($newssourcelink != "") { $thisEntry = str_replace("<XMLNews:SourceLink>", "$newssourcelink", $thisEntry); } else { $thisEntry = str_replace("<XMLNews:SourceLink>", "http://gnews.gits.net.th", $thisEntry); }

$htmlResult .= $thisEntry; $actualEntryNo++; } }

$htmlResult .= $this->endingStyle;

if ($actualEntryNo == 0) { $htmlResult = $noNewsMesg; } }

return $htmlResult; }

}

?>

2. หลงจากทเราสรางไฟล config แลวเรากเขยนโคดตดตอกบเวบ thaisarn ทใหบรการ Save เปนไฟลทเราตองการ

Page 56: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<?php require_once("thaisarnnewsclass.inc"); //ไฟลทเราสรางในตอนแรก $sourceLocation = "http://thaisarn.com/services/distributor/xml_distributor.php?category=เทคโนโลย&nlatest=7"; //เปลยนหมวดตามทเราตองการ หมวดขาวดทเวบ Thaisarn.com ไดครบ$thaiSarnNews = new ThaiSarnNews; $thaiSarnNews->setLocation($sourceLocation); $thaiSarnNews->parse(); $tableEntry = "<tr><td width=''><font size=\"2\"><XMLNews:Date></font>"; $tableEntry .= "<font size=\"2\"><A HREF='<XMLNews:Link>' target=\"<XMLNews:Title>\"> <XMLNews:Title></A>-<XMLNews:Source></font>"; $tableEntry .= " <FONT COLOR=\"#F38918\" size=\"2\"><XMLNews:Category></FONT></td>"; $tableHeader = "<table>"; $thaiSarnNews->setIterationStyle($tableEntry); $thaiSarnNews->setHeadingStyle($tableHeader);

echo $thaiSarnNews->transformNews(); ?>

3. หลงจากนนลองทดสอบ

เทคนคการทาให Textbox รบคาไดเฉพาะตวเลข เทคนคการทาให Textbox รบคาไดเฉพาะตวเลข เทคนคนเราจะใช Java เปนตวกาหนดใชในการสราง Form ตางๆ ขนตอนการทา 1. ใหเราสราง Form ขนมา ดงภาพ

Page 57: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

โคด Java ทใช

<SCRIPT language=JavaScript> function check_number() { e_k=event.keyCode //if (((e_k < 48) || (e_k > 57)) && e_k != 46 ) { if (e_k != 13 && (e_k < 48) || (e_k > 57)) { event.returnValue = false; alert("ตองเปนตวเลขเทานน... \nกรณาตรวจสอบขอมลของทานอกครง..."); } }

</script>

2. หลงจากนนใหเรานาโคด Java ไปวางไวสวน Head ของไฟล

3. หลงจากนนเขยนโคดท Textbox ใหดง Function จาก Java เมอผใชปอนคา

<input type="text" name="textfield" onkeypress=check_number();> //การเรยกใช

Page 58: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

Function

4. โคดสราง Form ทงหมด

<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} a:hover { color: #0099FF; text-decoration: underline} --> </style> <SCRIPT language=JavaScript> function check_number() { e_k=event.keyCode //if (((e_k < 48) || (e_k > 57)) && e_k != 46 ) { if (e_k != 13 && (e_k < 48) || (e_k > 57)) { event.returnValue = false; alert("ตองเปนตวเลขเทานน... \nกรณาตรวจสอบขอมลของทานอกครง..."); } }

</script> </head>

<body bgcolor="#FFFFFF"> <form name="form1" method="post" action=""> <table width="100%" border="0" cellspacing="5" cellpadding="0"> <tr> <td>ราคาสนคาทขาย <input type="text" name="textfield" onkeypress=check_number();> <input type="submit" name="Submit" value="ตกลง"> </td> </tr> </table> </form> </body> </html>

5. หลงจากนนลองทดสอบดครบ

Page 59: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

6. ขอใหสนกกบการเขยนเวบ

การนบจานวนวนในรอบป การนบจานวนวนในรอบป กเปนสวนของ Function Date กนาไปประยกตไดหลายเชนการเกบขอมลสถต, สนคา หรออนๆ มาดการทา ขนตอนการทา 1. สรางเอกสาร PHP ขนมา แลวเขยน Script นลงไป

<? echo "จานวนวน : <Font color=red> ".date ("z")."</Font> ยงไมไดจายเงน<Br>"; ?>

2. หลงจากนนทาการ Run ดครบ

3. ลองนาไปเขยนในรปแบบอนๆ ดนะครบ ขอใหสนกกบการทาเวบ

Home -> PHP Programing -> เทคนคการแกไขขอมลใน Mysql

จดทาโดย : Mr.GuruZ แสดง 2757 ครง เวบบอรด สงใหเพอน

เทคนคการแกไขขอมลใน Mysql ในการแกไขนนเราจะตองสราง Form เพออานวยความสะดวกใหกบผใชเวลาทลกคากรอกขอมล ขนตอยการทามดงน ขนตอนการทา 1. ใหเราสรางตารางขนมากอน ดวยคาสง SQL โดยสรางลงใน Database : test

CREATE TABLE customer ( id int(11) NOT NULL auto_increment, name char(30) NOT NULL,

Page 60: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

surname char(30) NOT NULL, address char(150) NOT NULL, tel char(20) NOT NULL, PRIMARY KEY (id) ); INSERT INTO customer VALUES ( '1', 'aaaa', 'sur aa', 'test/1', '01-1111111'); INSERT INTO customer VALUES ( '2', 'bbbb', 'sur bb', 'test/2', '01-2222222'); INSERT INTO customer VALUES ( '3', 'cccc', 'sur cc', 'test/3', '01-3333333'); INSERT INTO customer VALUES ( '4', 'dddd', 'sur dd', 'test/4', '01-4444444'); INSERT INTO customer VALUES ( '5', 'eeee', 'sur ee', 'test/5', '01-5555555');

2. หลงจากทเราสรางฐานขอมลแลวใหเราสรางไฟลแสดงผลขอมลจากฐานขอมล show.php

<?php //กาหนดตวแปรเพอนาไปใชงาน $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน $dbname = "test"; //ชอฐานขอมล $tblname = "customer"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); // เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); // คาสง SQL และสงใหทางาน $sql = "select * from $tblname"; $dbquery = mysql_db_query($dbname, $sql); // หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); // เรมวนรอบแสดงขอมล $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id = $result[id]; $name = $result[name]; echo "($id) คณ <font color=\"#FF0000\">$name</FONT> <A HREF=\"edit.php?id=$id\">แกไขขอมล</A><BR>"; //กาหนด Link ไปทไฟลทเราจะแกไข $i++; } // ปดการตดตอฐานขอมล mysql_close(); ?>

3. หลงจากนนเราสราง Form ขนมาตงชอไฟลใหตรงกบไฟลทเรา link มาใรทนผมใหชอไฟลวา edit.php

Page 61: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

4. หลงจากนนเขยนโคดแทรกเขาไปในไฟล edit.php ดงน

Page 62: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<?php //กาหนดตวแปรเพอนาไปใชงาน $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน $dbname = "test"; //ชอฐานขอมล $tblname = "customer"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); // เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); // คาสง SQL และสงใหทางาน $sql = "select * from $tblname where id=$id"; //ตรงนจะเปนขอกาหนดใหดงขอมลตามทเรากาหนด $dbquery = mysql_db_query($dbname, $sql); $result = mysql_fetch_array($dbquery); $id = $result[id]; $name = $result[name]; $surname = $result[surname]; $address = $result[address]; $tel = $result[tel]; // ปดการตดตอฐานขอมล mysql_close(); ?> <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} a:hover { color: #0099FF; text-decoration: underline} --> </style> </head>

<body bgcolor="#FFFFFF"> <table width="100%" border="0" cellspacing="5" cellpadding="0"> <tr> <td> <form name="form1" method="post" action="update.php"> //ขอมลจะถกสงไปยง update.php ลกคาคนท <input type="text" name="id" value="<? echo $id;?>"> <br> ชอ <input type="text" name="name" value="<? echo $name;?>"> นามสกล <input type="text" name="surname" value="<? echo $surname;?>"> <br> ทอยลกคา <input type="text" name="address" value="<? echo $address;?>"> เบอรโทร

Page 63: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<input type="text" name="tel" value="<? echo $tel;?>"> <br> <input type="submit" name="Submit" value="แกไขขอมล"> </form> </td> </tr> </table> </body> </html>

Page 64: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

5. หลงจากนนเขยนโคด Update เพอนาขอมลทผใชกรอกมาแกไขผมาจะเขยนไวทไฟล update.php

<?php //กาหนดตวแปรเพอนาไปใชงาน $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน $dbname = "test"; //ชอฐานขอมล $tblname = "customer"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); // เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); // คาสง SQL และสงใหทางาน $sql = "update $tblname set id=id, name='$name', surname='$surname', address='$address', tel='$tel' where id=$id"; // กาหนดคาสง SQL เพอแสดงขอมล $dbquery = mysql_db_query($dbname, $sql); echo "<Font Size=4><B>แกไขขอมลเรยบรอยแลว</B>"; echo "<Br><A Href=\"show.php\"> ดผลการเปลยนแปลง</A>"; // เครองหมาย \ หนา " ทาใหไมเกด error เมอรน ?>

6. หลงจากนนเราลองทดสอบดโดยเปดไฟล show.php ขนมากอน

Page 65: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

7. ขอใหสนกกบการทาเวบ

การลบขอมลจากฐานขอมล MySQL การลบขอมลใน Mysql ในฐานขอมล การทเราจะลบขอมลเรากควรทจะมฐานขอมลกอน และขอมลทอยในฐานขอมลนนๆ แตขอสาคญในฐานขอมลนนจะตองม Primary Key ดวยนะครบ เรามาดวธการทา ขนตอนการทา 1. สรางฐานขอมลขนมา โดยใชคาสง Sql

CREATE TABLE admin ( id int(11) NOT NULL auto_increment, user_admin char(15) NOT NULL, pass_admin char(8) DEFAULT '0' NOT NULL, PRIMARY KEY (id) );

2. หลงจากทเราสรางฐานขอมลขนมาแลวใหเราใชคาสงแสดงผลขอมลนนขนมา แตเราจะใสปม Delete ลงไปดวยเราใหไฟลนชอวา show_del.php

<?php //กาหนดตวแปรเพอนาไปใชงาน $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน

Page 66: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

$dbname = "test"; //ชอฐานขอมล $tblname = "admin"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); // เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); // คาสง SQL และสงใหทางาน $sql = "select * from $tblname"; $dbquery = mysql_db_query($dbname, $sql); // หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); // เรมวนรอบแสดงขอมล $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id = $result[id]; $user_admin = $result[user_admin]; $pass_admin = $result[pass_admin]; echo "($id) $user_admin $pass_admin <A HREF=\"del.php?id=$id\">ลบขอมล</A><BR>"; //สาคญอยตรงน กาหนดคาตวแปลเพอใหรวาเราจะลบขอมล Record $i++; } // ปดการตดตอฐานขอมล mysql_close(); ?>

3. เราจะไดผลดงน

4. หลงจากนนเราเขยนคาสงทใชในการลบขอมลไวทไฟลทเรากาหนด Link ไวผมใหชอไฟล del.php

<?php //กาหนดตวแปรเพอนาไปใชงาน $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน $dbname = "test"; //ชอฐานขอมล $tblname = "admin"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได");

Page 67: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

// เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); // คาสง SQL และสงใหทางาน $sql = "delete from admin where id='$id'"; // กาหนดคาสง SQL เพอลบขอมล กาหนดใหลบตาม ID ทเรากาหนด $dbquery = mysql_db_query($dbname, $sql); echo "ลบขอมล Record : $id"; ?>

5. หลงจากนนลองลบขอมล จะไดผลดงน

6. ขอใหสนกกบการทาเวบ

การแปลงขอความใหเปนตวพมพใหญ เทคนคการแปลงขอความใหเปนตวใหญทงหมด เพอใหงายตอการเชคขอมล สวนใหญเราจะใชรวมกบฟอรมเพอแปลงคาทไดจากผใชทปอนขอมลเขามา ขนตอนการทา 1. สรางฟอรมเพอใชในการทดสอบ

โคดทใชสราง Form

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <table width="100%" border="0" cellspacing="5" cellpadding="0"> <tr> <td>

Page 68: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<form name="form1" method="post" action="check.php"> //อยาลมกาหนด Action กรณาใส User ทคณตองการ : <input type="text" name="user"> //กาหนดชอของ TextBox <input type="submit" name="Submit" value="คนหา User"> </form> </td> </tr> </table> </body> </html>

2. หลงจากนนใหเราเขยนโคดทไฟล check.php ดงน

<? $user_upper=strtoupper($user); echo $user_upper; ?>

3. หลงจากนนทดสอบดผลทได

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

<? $key = "123456789100987654321";

Page 69: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

srand((double)microtime()*1000000); for($i=0; $i<6; $i++) { $pass_rand .= $key[rand()%strlen($key)]; } echo $pass_rand; ?>

2. หลงจากนนลองทดสอบดผลทได

3. ลองนาไปใชกนดนะครบ ขอใหสนกกบการเขยนเวบ

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

count($คาตวแปลทเราจะหา);

ขนตอนการทา 1. สรางตวแปล Array ขนมา

$word=array("php","dream","photoshop","coreldraw");

2. หลงจากนนเราใส Function ลงไปเพอใชในการหาจานวน

<? $word=array("php","dream","photoshop","coreldraw"); $count_array=count($word); echo $count_array; ?>

3. ผลทไดจากการหา

Page 70: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

เทคนคการใสจลภาค คนตวเลข เทคนคการใสจลภาค คนตวเลข หลายคนททาเกยวกบขายของผานทาง Internet กอยากจะใหผใชรวาซอของไปราคาเทาไรแลว ขนตอนการทานนไมยสกครบเพราะวาม Function ใหเราไดใชอยแลว เรามาดการใชเลยดกวา Function ทใช

number_format();

ขนตอนการทา 1. ใหเราสรางไฟลทเราจะใชในการเขยนขนมาแลวเขยนโคดนลงไปในไฟลทเราสรางขนมา

<? $number=1568971; echo "สงสนคาเปนจานวนเงน = ".number_format($number,2,'.',',')." บาท"; //2 ทเราเขยนเปนการระบจดทศนยม ?>

2. ผลทไดจาก Function น

3. ลองนาไปใชกนดนะครบ ขอใหสนกกบการทาเวบ

เทคนคการทาไฟล config.inc.php เทคนคการทาไฟล config.inc.php แลวเรยกใชในการตดตอฐานขอมล เพอชวยใหเราไมตองมาเขยนการตดตอฐานขอมลแบบซาๆ ขนตอนการทา 1. ใหเราสรางไฟล config.inc.php ขนมากอนแลวเขยนโคดในการตดตอฐานขอมล

Page 71: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<? //Connect database $host = "127.0.0.1"; $user = ""; $passwd = ""; $dbname = "test"; mysql_connect($host,$user,$passwd) or die("<center><BR><BR><BR><font color=red>Server มปญหากรณารอซกครเพอเขาสเวบไซต<BR>กรณาเขา www.webthaidd.com อกครง ขอบคณทใชบรการ<BR><BR>[email protected]</font></center>"); mysql_select_db($dbname) or die("<center><BR><BR><BR><font color=red>Server มปญหากรณารอซกครเพอเขาสเวบไซต<BR>กรณาเขา www.webthaidd.com อกครง ขอบคณทใชบรการ<BR><BR>[email protected]</font></center>"); ?>

2. หลงจากนนกลองเรยกใช แตการเรยกใชใหใชคาสง Include()

<?php include('config.inc.php'); // คาสง SQL และสงใหทางาน $sql = "select * from student"; $dbquery = mysql_db_query($dbname, $sql); // หาจานวนเรกคอรดขอมลในตาราง $num_rows = mysql_num_rows($dbquery); // เรมวนรอบแสดงขอมล $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id = $result[id]; $name = $result[name]; $surname = $result[surname]; $grade = $result[grade]; echo "$id - $name - $surname - $grade<BR>"; $i++; } // ปดการตดตอฐานขอมล mysql_close(); ?>

3. หลงจากนนลองทดสอบ

4. ลองนาไปใชกนดนะครบ ขอใหสนกกบการเขยนเวบ

Page 72: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

การสราง Function แบบไมสงคา การสราง Function แบบไมสงคา การนาไปใชกทาไดหลายทงขอความตอนรบ, ตวนบจานวนคนขามาเยยมชมเวบเรา ขนตอนการทาไมยงยาก ขนตอนการทา 1. สรางไฟล PHP ขนมาแลวเขยนโคดนลงไปไดเลย

<?php // ตรงนแลวแตการออกแบบของคณ Function welcome() { echo "ยนดตอนรบเขาสโฮมเพจ webthaidd.com"; echo "<a href=mailto:[email protected]?subject=สวสดครบ> ตองการตชม </a><Br>"; //สงเมลล echo date("d/m/"), date("Y")+543, ", ", date(" H:i:s"); // แสดงเวลา (ดรายละเอยดในฟงกชน Date and Time) } // ตรงนแลวแตการออกแบบของคณ welcome(); ?>

2. หลงจากนนลองทดสอบ

3. ลองนาไปใชกนดนะครบ ขอใหสนกกบการเขยนเวบ

การเพมขอมลลงในฐานขอมล MySQL โดยใช Form เทคนคการเพมขอมลลงในฐานขอมล Mysql โดยใชฟอรมทเราสรางขน มาดวธการเลยดกวา

ขนตอนการทา 1. เรมจากสรางฐานขอมลขนมากอน

Page 73: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

2. คาสง SQL ทใชในการสรางฐานขอมล

SQL-query: CREATE TABLE student (id INT not null AUTO_INCREMENT, name CHAR (30) not null , surname CHAR (30) not null , grade CHAR (1) not null , PRIMARY KEY (id))

3. หลงจากนนสราง Form ขนมา

4. โคดทใชสาหรบสรางฟอรม

<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body> <form name="form1" method="post" action="add.php"> //ตาแหนงไฟลทเราสงขอมลจากฟอรมไปให Name : <input name="name" type="text" id="name"> Surname : <input name="surname" type="text" id="surname"> <br> Grade : <input name="grade" type="text" id="grade"> <input type="submit" name="Submit" value="เพมขอมล"> <input type="reset" name="Submit2" value="Reset"> </form> </body> </html>

5. หลงจากนนเราเขยนโคดเพอเพมขอมลใน add.php ดงน

Page 74: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<?php //กาหนดตวแปรเพอนาไปใชงาน $hostname = "localhost"; //ชอโฮสต $user = ""; //ชอผใช $password = ""; //รหสผาน $dbname = "test"; //ชอฐานขอมล $tblname = "student"; //ชอตาราง // เรมตดตอฐานขอมล mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); // เลอกฐานขอมล mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); // คาสง SQL และสงใหทางาน $sql = "insert into $tblname (name, surname, grade) values ('$name', '$surname', '$grade')"; // กาหนดคาสง SQL เพอเพมขอมลแบบคยในคาสง SQL $dbquery = mysql_db_query($dbname, $sql); // ปดการตดตอฐานขอมล mysql_close(); echo "<Font Size=4><B>เพมขอมลลงฐานขอมลเรยบรอยแลว</B>"; ?>

6. หลงจากนนลองทดสอบการเพมขอมล

7. เพยงเทานเรากสามารถเพมขอมลลงฐานขอมลได ขอใหสนกกบเขยนเวบ

เทคนคการตดคาหยาบ เทคนคการเชคคาหยาบ กมหลายเวบทใช webthaidd กใชครบ มวธการเขยนไมยากครบมาดวธการเขยนกนเลยดกวา

ขนตอนการทา

Page 75: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

1. สราง Form เพอทาการทดสอบขนมา

2. โคดทใชสราง Form

<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body> <form name="form1" method="post" action="cut_word.php">//อยาลมระบตาแหนงไฟลดวยนะครบ ทดสอบตดคาหยาบ <input name="word" type="text" id="word"> <input type="submit" name="Submit"> </form> </body> </html>

3. หลงจากนนเรากมาเขยนโคดท cut_word.php

<? $word_cut = array("ไอ","อ","มง","ก"); $replace = "<font color=red>***</font>"; for ($i=0 ; $i<sizeof($word_cut) ; $i++) { $word = eregi_replace($word_cut[$i],$replace,$word); } echo $word; ?>

4. ทดสอบการตดคาด

Page 76: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

5. ลองนาไปใชกนดนะครบ ขอใหสนกกบการทาเวบ

การเปลยน Password Mysql เทคนคการเปลยน Password ของ Mysql นนชวยใหเราสะดวกเวลาทเรา Upload ไฟลขนไปท Server โดยทเราไมตองมาเสยเวลาเปลยน Password ใหม

ขนตอนการทา 1. เปดหนาตาง Dos Mode ขนมากอนโดยถาคณใชวนโดวส 2000-XP ใหคณเลอกทเมน Run แลวพมพ cmd กด OK กจะเขาส Dos Mode ไดเลย แตถาคณใช Win95-me คณเลอก Run แลวพมพ command กเขาไดเชนกน

2. หลงจากนนใหคณ Login เขาใน Mysql ใหเรยบรอยกอนดงรป

3. หลงจากนนใหเราพมพคาสงเพอเปลยน Pass

4. เพยงเทานเรากสามารถเปลยน Password ไดแลวครบ (อยาลม Pass นะครบ)

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

Page 77: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

1. สรางไฟลรปภาพทเปนตวเลขขนมากอน

2. ขอสาคญรปจะตองอยทเดยวกบโคดนะครบ แลวเขยนโคดดงน

<? $count="98567421"; $len=strlen($count); for($n=0;$n<$len;$n++){ $digit=substr($count,$n,1); echo "<IMG SRC=\"$digit.png\" BORDER=0 ALT=\"webthaidd\">"; } ?>

3. ผลทไดจะออกมาดงภาพ

4. พอจะมองเหนภาพแลวใชไหมครบวาจะนาไปใชทาอะไร ขอใหสนกบการทาเวบ

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

<? $text="webthaidd.com"; $len=strlen($text); echo "คาความยาวของตวอกษร : $len"; ?>

2. สนๆ แตไดใจความ กลองนาไปใชดนะครบ

เทคนคการทา Search Google เทคนคการทา Search Google หลายคนถามถงมา จรงๆ กมหลายวธครบแตนกเปนวธหนง มาดวธการทาเลยดกวาครบ ขนตอนการทา

Page 78: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

1. สรางฟอรมทเราจะใชสาหรบ Search

2. หลงจากนนกาหนดคาตวแปลใหกบ Textbox ใหกาหนดเปน q นะครบ

3. หลงจากนนหาหนด Action ของฟอรมไปท http://www.google.co.th/search?q และเปลยน Method เปน GET

4. หลงจากนนลองกด F12 แลวลองคนหาดครบ

Page 79: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

5. ลองนาไปใชดนะครบ ขอใหสนกกบการทาเวบ

เทคนคการเกบชอไฟลรปภาพลงฐานขอมล เทคนคการเกบชอรปภาพลงในฐานขอมล หลงจากทเราเกบไฟลรปภาพลงฐานขอมลเรยบรอยแลว บางคนอยากจะแสดงชอ ไฟลรปภาพใหผใชร ใครทมปญหาแบบนมาดบทเรยนนเลยครบ ขนตอนการทา 1. สราง Form ขนมาโดยม FileField ขนมา โดยกาหนดชอตวแปลตามทเราตองการแตถาเราไมกาหนดโปรแกรมจะกาหนดใหวา File

โคดสราง Form

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" enctype="multipart/form-data" method="post" action="show.php"> //ผมกาหนดคาใหสงคาไปท show.php เชนเคย

Page 80: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<input type="file" name="file"> <input type="submit" name="Submit" value="Submit"> </form> </body> </html>

2. หลงจากนนเขยนโคดทไฟล show.php ใหแสดงชอของรปภาพ

<? echo "ชอรปภาพทคณสงมา : ".$file_name; ?>

3. ผลทไดจากการทดลองแสดงชอ

4. ลองนาไปประยกตใชงานดนะครบ ขอใหสนกกบการทาเวบ

การสงคา Radio Button ไปยง PHP เทคนคการสงคาจาก Radio Button ไปยง PHP หลายคนยงงงกบฟอรมวาเราจะสงขอมลไปไดอยางไร กลองมาดบทความนกนเลย ขนตอนการทา 1. สรางฟอรมขนมาดวย Radio Button ผมใชโปรแกรม Dreamweaver นะครบงายด

2. กาหนดคาตวแปล และคาทเราจะสงไป

Page 81: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

โคดทใชสราง Form

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="show.php"> //ผมสงขอมลมาท show.php <input type="radio" name="ch1" value="php"> php<br> <input type="radio" name="ch1" value="radiobutton"> dream<br> <input type="radio" name="ch1" value="radiobutton"> photoshop<br> <input type="radio" name="ch1" value="radiobutton"> other </form> </body> </html>

3. เขยน Scripts ทดสอบวาขอมลทเราสงมาใชไดหรอไม

<? echo "ขอมลทคณเลอก : ".$choice; ?>

4. ผลทไดจากการทดสอบการสงคา

5. ถาเราตองการจะเกบคาจากตวแปลลงฐานขอมลกนาคานนลงใสฐานขอมลไดเลยครบ

Page 82: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

เทคนคการสรางฟอรมคนหาขอมลจากฐานขอมล เทคนคการสรางฟอรมเพอคนหาขอมลในฐานขอมล หลายคนอาจจะงงวาจะหาขอมลไดอยางไร กมาดบทความนกนเลยดกวา ขนตอนการสราง 1. สราง Form ทใชในการคนหาขนมากอนอยาลมกาหนดคาตวแปลท Textbox นะครบ

โคด Form

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="search.php"> //ผมกาหนดใหสงขอมลทคนหามาทไฟล Search นะครบ <table border="0" cellspacing="5" cellpadding="0"> <tr> <td>คนหาขอมล : </td> <td> <input type="text" name="search"> </td> <td> <input type="submit" name="Submit" value="คนหา"> </td> </tr> </table> </form> </body> </html>

2. คาสง SQL ทใช

$tblname : ตารางทเราจะใหคนหา $field_search : คนหาจาก Field ไหน % : คอตวอะไรกไดคลายๆ * ในการคนกาในวรโดวสนนละครบ $search : คนหาจากตวแปลทเราฝากมาจาก Form $sql = "select * from $tblname where $field_search like '%$search%'";

3. เขยนโคดคนหาทไฟล search.php

Page 83: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<? $hostname = "localhost"; $user = ""; $password = ""; $dbname = "student"; $tblname = "grade"; $field_search = "name"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "select * from $tblname where $field_search like '%$search%'"; //คาสง Sql ทใช $dbquery = mysql_db_query($dbname, $sql); $num_rows = mysql_num_rows($dbquery); $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id = $result[id]; $name = $result[name]; $grade = $result[grade]; echo "รหส : $id - ชอ : $name - เกรด : $grade <BR>"; //แสดงขอมล $i++; } mysql_close(); ?>

4. อยากลมแกฐานขอมลทเราตองการคนหาใหเขากบโคดนะครบ หรอจะนาไปดดแปลงกไดครบ

การแสดงผลรปภาพทอยในฐานขอมล ฉบบสมบรณ

เทคนคการแสดงผลรปภาพทอยในฐานขอมล MySQL วธนเปนวธทหลายๆ คนนาไปประยกตกนไดมาดขนตอนการทาดกวาครบ ขนตอนการทา 1. สรางไฟลเพอดงขอมลรปภาพออกมาจากฐานขอมลกอนเขยนโคดดงนผมตงชอไฟลนวา show_img.php

<? $hostname = "localhost"; $user = ""; $password = ""; $dbname = "test"; $tblname = "images"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "select * from $tblname where id=$id"; //ดทเงอนไขตรงนใหดนะครบ $result = mysql_db_query($dbname,$sql) or die("ไมสามารถ query ขอมลได"); $images = mysql_fetch_array($result); echo $images['images']; //กาหนดชอ Field ทจะแสดง ?>

2. หลงจากนนใหเราดงขอมลจากไฟล show_img.php ออกมาแสดงตามหนาทเราตองการไดเลยครบ ผมตงชอไฟลนวา show.php

Page 84: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<? $hostname = "localhost"; $user = ""; $password = ""; $dbname = "test"; $tblname = "images"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "select * from images"; $dbquery = mysql_db_query($dbname, $sql); $num_rows = mysql_num_rows($dbquery); $i=0; while ($i < $num_rows) { $result = mysql_fetch_array($dbquery); $id = $result[id]; //ดงคา id ของรปภาพออกมา echo"<BR><p align=center><IMG SRC=\"show_img.php?id=$id\" BORDER=0 ALT=\"\"></p>"; //ตรงนเปนการฝากคา id ไปวาจะเอารปไหนมาแสดง $i++; } mysql_close(); ?>

3. ถาทาถกผลลพธจะไดออกมาดงภาพ

4. กลองนาไปใชดนะครบไดผลอยางไรบอกดวยนะครบ

การกาหนดคาตวแปลแบบคงทใน PHP

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

Page 85: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

รปแบบคาสง

DEFINE(ชอตวแปล, คาของตวแปล);

ขนตอนการทา 1. สรางไฟล PHP ขนมาแลวเขยนโคดดงน

<?php define("hello", "สวสดครบยนดตอนรบเขาสโฮมเพจ\n"); define("line", "==============================="); define("newline", "<BR>"); define("detail", "โฮมเพจของเราเปนโฮมเพจเกยวกบการศกษาแบบ Online"); echo(hello.newline.line.newline.detail.newline.newline.line); ?>

2. หลงจากทเราเขยนเสรจลองทดสอบจะไดผลดงภาพ

ทดสอบการแสดงผลรปภาพทเกบในฐานขอมล MySQL หลงจากทเราเกบขอมลลงฐานขอมลเรยบรอยแลวเรากมาดการนาขอมลรปภาพออกจากฐานขอมลมาแสดงผล แบบแรกจะเปนการแสดงผลแบบธรรมดาไมวนลปนะครบเพอใหเขาใจหลกการแสดงผล ขนตอนการทา 1. แบบนเราจะใชแบบแสดงขอมลออกมาตรงๆ เลยจะไมรวมกบคาสง HTML

<? $hostname = "localhost"; $user = ""; $password = ""; $dbname = "test"; $tblname = "images"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "select * from images"; $dbquery = mysql_db_query($dbname, $sql); $result = mysql_fetch_array($dbquery); $images = $result[images]; echo $images; ?>

Page 86: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

2. ผลทไดจากโคดน

3. อยาลมนะครบนเปนเพยงการทดสอบการแสดงผลรปภาพ

เทคนคการเกบรปภาพลงฐานขอมล MySQL เทคนคการเกบขอมลทเปนรปภาพลงฐานขอมล Mysql กไดทาการเขยนบทความนกนซะทหลวจากทหลายคนถามมา มาดวธการทาเลยดกวา ขนตอนการทา 1. ใช PHPMyAdmin สรางฐานขอมลรองรบรปภาพทเราจะใสดวยในทน Field ทเกบรปภาพผมเกบผมชนด Blob ดงภาพ

2. หรอจะนาโคดนไป Run สรางตารางกได

CREATE TABLE images (id INT not null AUTO_INCREMENT, images BLOB not null , PRIMARY KEY (id))

3. เมอเราไดฐานขอมลแลวเรากมาสราง Form และกาหนดคาตวแปลดงภาพ

Page 87: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

4. หรอจะนาโคดนมาสราง Form กไดครบ

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> &nbsp;&nbsp;<br> &nbsp;&nbsp;ใสรปภาพของคณทน&nbsp;&nbsp; <form name="form1" method="post" action="add.php" enctype="multipart/form-data"> //อยาลมกาหนด Action นะครบ &nbsp; <input type="file" name="files"> <br> &nbsp; <input type="submit" name="Submit" value="Submit"> <input type="reset" name="Submit2" value="Reset"> </form> </body> </html>

5. หลงจากนนเรากมาเขยนโคดทไฟล add.php

<? $hostname = "localhost"; $user = ""; $password = ""; $dbname = "test"; $tblname = "images"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); copy($files,$files_name); $pic_size = filesize($files_name); $pic_data = addslashes(fread(fopen($files_name,"r"),$pic_size)); $sql = "insert into $tblname(images) values ('$pic_data')";

Page 88: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

$dbquery = mysql_db_query($dbname, $sql); mysql_close(); ?>

6. หลงจากนนลองทดสอบ up รปเลกกอนนะครบเพอเราจะไดดขอมลไดดงภาพ

7. ถาไดดงภาพแลวแสดงวาเราไดเกบขอมลทเปนรปภาพลงในฐานขอมลเรยบรอยแลว

การเกบคา CheckBox ลงฐานขอมล

ขนตอนการทา 1. สรางแบบ Form ดวย Check Box ขนมากอน

2. กาหนดคาตวแปลใหกบ Check Box

Page 89: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

โคดแบบฟอรมทสราง

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> &nbsp;งานอดเรกคณชอบอะไร ? <form name="form1" method="post" action="add.php"> //อยาลมกาหนด action ทจะสงคาไปดวยนะครบ <input type="checkbox" name="ch1" value="com"> เลนคอมฯ<br> <input type="checkbox" name="ch2" value="book"> อานหนงสอ<br> <input type="checkbox" name="ch3" value="sport"> เลนกฬา<br> <input type="checkbox" name="ch4" value="movie"> ดหนง<br> <input type="submit" name="Submit" value="เกบประวต"> </form> </body> </html>

3. เขยนโคดท add.php

<?php $hostname = "localhost"; $user = ""; $password = ""; $dbname = "survey"; $tblname = "history"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "insert into $tblname (ch1, ch2, ch3, ch4) values ('$ch1', '$ch2', '$ch3', '$ch4')"; //กาหนดคาตวแปลทเราสงมา $dbquery = mysql_db_query($dbname, $sql); mysql_close(); echo"เกบขอมลเรยบรอยแลว"; ?>

Page 90: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

4. ลองนาไปประยกตใชกบงานอนๆ ดนะครบ

เทคนคการแสดงคา IP Address เหนหลานคนถามมาผมเลยนามาเขยนเปนบทความเพอใหทกคน หรอผทอยากรไดทราบ IP Address กคอหมายเลขของเครองคอมพวเตอรนนๆ รปแบบคาสง

$REMOTE_ADDR //เปนคาสงทใชในการอานคา IP Address

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

<? $ip_address = $REMOTE_ADDR; echo "IP ของคณคอ $ip_address"; ?> หรอเขยนไดอกแบบ <? echo $ip_address = $REMOTE_ADDR; ?>

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

การเพมขอมลลงในฐานขอมล MySQL ฐานขอมลทใชทดสอบ

รปแบบคาสง SQL $sql = "insert into $tblname (name, surname, grade) values ('$name', '$surname', '$grade')"; //คาสง SQL ทใชในการเพมขอมล รปแบบการใชงาน 1. สรางแบบ form เพอใชในการกรอกขอมล form_grade.php

โคด form_grade.php

<html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874">

Page 91: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

</head><body bgcolor="#FFFFFF"> <table width="100%" border="0" cellspacing="5" cellpadding="0"> <tr> <td> <form name="form1" method="post" action="add.php"> Name <input type="text" name="name"> Surname <input type="text" name="surname"> <br> Grade <input type="text" name="grade"> <input type="submit" name="Submit" value="Submit"> </form> </td> </tr> </table> </body> </html>

โคด add.php

<?php $hostname = "localhost"; $user = ""; $password = ""; $dbname = "student"; $tblname = "grade"; mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "insert into $tblname (name, surname, grade) values ('$name', '$surname', '$grade')"; $dbquery = mysql_db_query($dbname, $sql); mysql_close(); ?>

การทา Login Session แบบไมใชฐานขอมล บทเรยนนเปนบทเรยนประยกตเพอใหเขาใจเรองระบบ Login ทผมนาเสนอเปนเพยงสวนหนงอาจจะมหลายแบบลองนาไปใชกบฐานขอมลหรอแบบอนดนะครบ ขนตอนการทา 1. สรางแบบฟอรมขนมากอน ดงภาพ

โคด index.php

Page 92: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<? session_start(); session_destroy(); ?> <html> <head> <title>Un title page</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <form name="form1" method="post" action="check_login.php"> <br> &nbsp;&nbsp;user : <input type="text" name="user"> <br> &nbsp;&nbsp;pass : <input type="password" name="pass"> <br> &nbsp;&nbsp; <input type="submit" name="Submit" value="Login"> <a href="#">ลมรหสผาน</a> </form> </body> </html>

2. สรางไฟลเพอเชคขอมลทผใช Login เขามาในทนผมใหเปน check_login.php โคด check_login.php

<? session_start(); $user_check="test"; $pass_check="1234"; if(($user==$user_check)&&($pass==$pass_check)){ session_register("user"); session_register("pass"); header("location:member.php"); }else header("location:index.php"); ?>

3. กาหนดหนาเมอถกตองจะใหไปทไหนในทนผมใหไปท member.php โคด member.php

<? session_start(); echo "สวสดคณ $user"; ?> เทคนคการใสขอความใน TextBox โดยใช PHP ในการเปลยนสอกษรใน PHP นนกจาเปนทจะตองใชโคด HTML ดวยเพอใชกาหนดสของตวอกษร รปแบบการใชงาน

Page 93: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

<? echo "<font color=\"red\">webthaidd บทเรยน php online</font>"; //เรากเพยงใชคาสง Font ?>

การแสดงขอมลในฐานขอมล MySQL

ฐานขอมลทใชทดสอบ

รปแบบคาสง SQL $sql = "select * from grade"; //คาสง SQL จะเขยนอยในตวแปล sql เพองายตอการเรยกใช คาสงนเปนคาสงแสดงขอมลทงหมดทอยในตาราง ในทนกคอ grade รปแบบการใชงาน <?php $hostname = "localhost"; $user = ""; $password = ""; $dbname = "student"; //กาหนดฐานขอมล $tblname = "grade"; //กาหนดตาราง mysql_connect($hostname, $user, $password) or die("ตดตอฐานขอมลไมได"); mysql_select_db($dbname) or die("เลอกฐานขอมลไมได"); $sql = "select * from $tblname"; //คาสง SQL เพอการแสดงผล $dbquery = mysql_db_query($dbname, $sql); $num_rows = mysql_num_rows($dbquery); $i=0; while ($i < $num_rows) //วนลปแสดงผล { $result = mysql_fetch_array($dbquery); $id = $result[id]; $name = $result[name]; //กาหนดคาตวแปล $surname = $result[surname]; $grade = $result[grade]; echo "$id $name $surname $grade<BR>"; //แสดงผลตวแปล $i++; } mysql_close(); //ปดการเชอมตอฐานขอมล ?>

การใชงานคาสง strftime

strftime เปนการแสดงวนทและเวลาอกแบบโดยแบบนเราสามารถกาหนดโซนเวลาได รปแบบคาสง

Page 94: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

strftime ("%วน %เดอน %ป"); รปแบบการใชงาน <? setlocale("LC_TIME","th"); //กาหนดโซนเวลา echo strftime ("%d %m %y"); //แสดงรปแบบเวลาทตองการ ?>

การใชคาสง Date

Date เปนฟงคชนทใชในการแสดงวนทจาก Server เพอแสดงใหผใชทราบ รปแบบคาสง date ("วน เดอน ป"); รปแบบการใชงาน <? echo date ("d m y"); //แสดงวนท ?> แตถาเราตองการใหม / ใหเขยนดงน <? echo date ("d/m/y"); //ใส / เขาไปดวย ?>

การใชคาสง Checkdate

Checkdate เปนฟงคชนทใชในการเชควนทวาในปนนๆ มวนทนหรอไม รปแบบคาสง checkdate (เดอน,วน,ป); รปแบบการใชงาน <? echo checkdate (10,20,2000); //ใสวนท ทเราตองการทราบ หลงจากนนถาได 1 แสดงวาม 0 ไมม ?>

การใชงานคาสง switch

Switch เปนคาสงทใชในการกาหนดเงอนไขคลายๆ กบ If...Else เปนอกคาสงหนงทใหเราเลอกใช รปแบบคาสง switch (เงอไข) { case ขอกาหนด: งานทใหทา; break; }

Page 95: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

รปแบบการใชงาน <? $i=1; switch ($i) { //เงแนไขทเชค case 0: //ขอกาหนด print "i equals 0"; break; //สนสดการทางานของเงอนไข case 1: print "i equals 1"; break; case 2: print "i equals 2"; break; } ?>

การใชงานคาสง Continue

Continue เปนคาสงทใหทางานตอ ตามเงอนไขทเรากาหนดสงนใหญใชคกบ Break รปแบบคาสง continue; รปแบบการใชงาน <?php for ($i = 0; $i < 5; ++$i) { if ($i == 2) continue; //ใหทางานตอเมอ $i==2 print "$i\n"; } ?>

การใชงานคาสง Break

Break เปนคาสงทใชในการหยดการทางานของโปรแกรม รปแบบคาสง break; รปแบบการใชงาน <? $i = 0; while (++$i) { switch ($i) { case 5: echo "At 5<br />\n"; break; /* ออกจากการทางาน เมอทางานท 5*/ case 10: echo "At 10; quitting<br />\n"; break; /* ออกจากการทางาน เมอทางานท 10*/ default:

Page 96: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

break; } } ?>

การใชคาสงวนลป foreach

foreach เปนคาสงวนลปทนาขอมลออกมาจากตวแปลทเปน array ชวยใหเราเรยกใชขอมลไดงายขน รปแบบคาสง foreach (ตวแปลทเปนarray as $value) งานททา รปแบบการใชงาน <?php //ตวอยางท 1 $arr = array("one", "two", "three"); reset ($arr); //สงให pointer เรมท array แรก foreach ($asize=\"2\"rr as $value) { //เงอนไข echo "Value: $value<br />\n"; //แสดงผล } //ตวอยางท 2 $a = array (1, 2, 3, 17); foreach ($a as $v) { print "Current value of \$a: $v.\n"; } ?>

การใชคาสงวนลป for รปแบบคาสง

for (เงอนไขเรม; เงอนไขสนสด; เงอนไขใหทาครงละ) งานททา

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

<?php /* ตวอยางท 1 */

for ($i = 1; $i <= 10; $i++) { print $i; }

/* ตวอยางท 2 */

for ($i = 1; ; $i++) { if ($i > 10) { break; } print $i; }

Page 97: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

/* ตวอยางท 3 */

$i = 1; for (;;) { if ($i > 10) { break; } print $i; $i++; }

/* ตวอยางท 4 */

for ($i = 1; $i <= 10; print $i, $i++); ?> การใชคาสงวนลป do..while รปแบบคาสง

do { งานททา } while (เงอนไข);

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

<?php $i = 0; //เรมตนการวน do { print $i; //แสดงงานททา } while ($i > 0); //เงอนไขทเชค ?>

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

while (เงอไขทวน){ งานททาในขณะวนลป }

ตวอยางการใชงาน

<?php /* ตวอยางท 1 */

$i = 1; while ($i <= 10) { //เงอนไขทวน print $i++; /* แสดงผลทได $i */ }

Page 98: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

/* ตวอยางท 2 */

$i = 1; while ($i <= 10): //เงอนไขทวน print $i; $i++; //วนครงละ 1 endwhile; ?> การสราง Database ดวย phpmyadmin การสราง Database ใน Mysql นนถาในแบบกอนๆ กจะสรางดวยคาสง และเราจะตองเปนคนเขยนคาสงเองทงหมด กมหลายคนหนไปเขยน ASP เพอจะนาฐานขอมล Access มาใชงานบนเวบไซตกม แตตอนน Mysql กมเครองมอชวยในการสราง Database แลว ความสามารถไมแพ Access เลย ชวยใหเราสราง - ลบขอมลทอยใน Database ไดงายขน ขนตอนวธการสราง Database 1.> เปด PHPMyAdmin ขนมา ถาไมมเรากหา Download มาตดตงใน Webserver ของเราได

2.> ใสชอทเราตองการ Database ในชอง Create new database แลวกดปม Create ในทนผมจะยกตวอยางการสราง Database : student

หลงจากทเรา Create

Page 99: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

3.> หลงจากนนใหเราสรางตาราง เพอรองรบขอมลตางๆ ทเราจะเกบ ในทนผมจะสรางตาราง grade เพอเกบขอมลของนกศกษา ใหเราใสชอตารางทเราตองการสรางในชอง Create new table และทสาคญเราควรกาหนด Fields ทเราจะเกบขอมลดวย

4.> หลงจากนนกาหนดชนดของขอมลใน Fields ทเราสรางขน

5.> เพยงเทานเรากสามารถสราง Database ขนมาใชเกบขอมลในงานของเราตางๆ ไดแลว

การใชคาสง if..else IF...ELSE เปนคาสงทใชเปนเงอนไขในการตดสนใจ เราคงจะเคยเขยนโปรแกรมกนมาบาง ยกตวอยางเชน โปรแกรมการตดเกรด เรากตองนา IF มาใชงาน

รปแบบคาสง

if (เงอไขทเราจะเชค){ งานทเราจะใหทา }

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

<?php $a=5; $b=2; if ($a > $b) //เงอนไขทเชค print "a is bigger than b"; //แสดงผลเมอเงอนไขถกตอง ?>

การตดตง PHP โดยใช PWS จาลองเปน Server (win 95, 98, Me) การตดตงโปรแกรม Pws ถาใช Pws ตองตดตง 2 ตว คอ Pws และ ก ตว Compiler PHP ( Downloads ไดท

Page 100: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

http://www.php.net/ ) ขนตอนการตดตง 1.> ตดตง Pws จะอยในแผน Win98 Full อยใน Folder add-on การตดตงกไมยากแต คลก Next Next และก Next กเสรจครบ หลงจากทหาโปรแกรม Pws ไดแลว คลกท Setup

2.> จะปรากฏดงรป ใหเลอก Next

3.> เลอกแบบ Custom และเลอก Next

Page 101: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

4.> ในสวนนไมตองทาอะไรครบ เลอก Next ตอไปเลย

5.> ในสวนนไมตองทาอะไรเหมอนกนครบ เลอก Next ตอไปเลยครบ

6.> ใหเปลยน MTS Istall Folder เปน C:\Mts เลอก Next ตอไปเลยครบ เมอลงเสรจให Restart เครองนะครบ

Page 102: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

ตดตงตว Compiler PHP 1.> ขนตอนการลงกไมยากครบ ดบเบลคลก และให Program นาไฟลตาง ๆ ไปใวท C:\PHP ซงแตละขนสามารถอานและเขาใจไดครบ

2.> ขนตอนการตดตงกไมยากครบ เลอก Next --> Next

3.> Regedit ของ Pws เพอใหรจกนามสกล .php เลอก Start Menu --> Run พมพ Regedit

4.> ใหไปท HKEY_LOCAL_MACHINE /System /CurrentControlSet /Services /W3Svc /Parameters /ScriptMap

5.> click ขวาทชองดานขวาของโปรแกรม และเลอก New -> String Value ใหพมพ .php ลงไป

Page 103: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

6.> จากนน double click เพอกาหนดคาใหกบ .php น โดยชไปยงตวแปลภาษา PHP ทอยในระบบ

7.> ในสวนของ c:\php\php.exe %s %s ขนอยกบการตดตงครบ

8.> หากตองการใช นามสกล .php3 กทาเหมอนกนครบ

9.> เปนอนเสรจการลง Pws ใหใช php ไดครบ ( อยาลม Restart เครองนะครบ ) หลงจากนนลองทดสอบด http://127.0.0.1/Files-name

การตดตง PHP โดยใช Apache จาลองเปน Server สาหรบการตดตง Apache ผมจะแนะนาโปรแกรม Appserv ซงเปน โปรแกรมทรวมเอา packageAppserv คอ โปรแกรมทรวมเอา Package ของ - php - apache - mysql - php-nuke มาใวรวมกน ซงครบสตรเลยครบ ในการพฒนาโปรแกรม PHP หา Appserv ไดจากไหน ? Appserv เปน Freeware ทสามารถใชงานฟรครบ สามารถ downloads ไดท http://sourceforge.netหรอจะ downloads ไดท http://sourceforge.net/project/showfiles.php?group_id=37459

Page 104: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

ซง เวอรชนลาสดทกวนน จะเปน Appserv-win32-2.3.0.exe ในการ downloads อาจตองใชโปรแกรมชวยครบ เพราะไฟลมขนาด 24 M ขนไป ครบ ตดตงอยางไร ? 1.> หลงจากท downloads เสรจเรยบรอยแลว

2.> ดบเบลคลกเพอตดตง

3.> เลอก Next

4.> เลอกรปแบบ Custom และเลอก Next

5.> เลอก รปแบบดงรป และเลอก Next

Page 105: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

6.> กาหนด ชอ Domain ในทน ไมตองเปลยนครบ ใหกาหนด เปน localhost และใสอเมลลดวยครบ และเลอก Next

7.> ในสวนนหากตองการกาหนด Password ใหกบ Mysql หากไมตองการใหปลอยวางเอาใวครบ แนะนาไมตองใสครบ เลอก Next

8.> ตกเลอกดงรป เพอเปนการ Start Apache และ Mysql การตดตงเปนเสรจสมบรณแลวครบ

Page 106: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

ทดลองใชงาน 1.> เปดโปรแกรม IE ( Interner Explorer ) Run ดงน http://localhost หรอ 127.0.0.1

//ถา ผลลพธ ไดดงรปแสดงวาสามารถ เขยน 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

Page 107: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

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

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

การแสดงผลขอมล Access //กอนทเราจะนาขอมลจากตารางทเราสรางไวใน Access ออกมาใชงานนนเราจะตองเชอมตอขอมลกบ ODBC เสยกอน ดงน รปแบบโคดการเชอมตอ $dsn = "book"; // กาหนดชอ DSN $user =""; // กาหนดชอลอกอน (ถาไมมไมตองใส) $pass =""; // กาหนดรหสผาน (ถาไมมไมตองใส) $connect = odbc_connect($dsn, $user, $pass) or die("ตดตอ DSN ไมได"); //ในบรรทดนเปนสวนทนาคาตวแปลมาแลวนาไป Connect กบ ODBC ทเราตงคาไว รปแบบการประยกตใชงาน <?php echo "การแสดงผลขอมลในตารา ง"; $dsn = "book"; $user =""; $pass =""; $connect = odbc_connect($dsn, $user, $pass) or die("ตดตอ DSN ไมได"); $sql = "select * from book"; // กาหนดคาสง SQL เพอแสดงขอมล $exec = odbc_exec($connect, $sql); // เรมเอกซควตคาสง SQL odbc_result_all($exec,"border=1"); // แสดงขอมลในรปตาราง odbc_free_result($exec); odbc_close($connect); // ปดการเชอมตอ ?> //เปนอยางไรบางครบไมยากเลยใชไหมครบลองนาไปใชด

การสงขอมลผานฟอรม //การสงขอมลผานฟอรม นนจะถอวาเปนสวนสาคญอกสวนหนงในการทาเวบ ดงนนเราควรจะทราบถงโครงสรางในการสงขอมล เพอไมใหเสยเวลาเราเรมลงมอเลยดกวา 1.> ขนแรกเราควรจะสราง Form ทใชในการสงขอมล จะใชโปรแกรมอะไรสรางกไดนะครบในทนผม

Page 108: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

ใช Dream เพราะวาสรางงายด ในตวอยางนผมจะลองสง ชอ - นามสกล เพอนาไปแสดงผล ดงภาพ Tip - อยาลมกาหนดชอตวแปลท TextField นะครบ

2.> หลงจากนนเรากมาเขยนโคดไวท File ทเรา Action ไปในทนผมให Action ไปทไฟล show.php รปแบบโคด <? echo "รายชอพนกงาน Webthaidd.com<BR>"; echo "คณ $name $surname"; //อยาลมใสชอตวแปลใหตรงกบคาทเราตงไวใน Form ดวยนะครบ ?> //เปนอยางไรกนบางครบไมยากเลยใชไหมครบ ไดผลอยางไรเมลมาบอกกนบางนะครบ //บทเรยนมปญหา หรอแนะนาตชมเพอเปนกาลงใจในการเขยนบทความตอๆ ไปไดท [email protected]

การ Dump ขอมล MySQL //พดถงการ Dump ขอมลบางคนอาจจะงง จรงๆแลวกคอการ Backup ขอมลจากฐานขอมล Mysql นนเอง แตอยาลมวางานนเราตองม phpMyAdmin นะครบเปนเครองมอหนงทเราจะจดการกบฐานขอมลได ทผมใชในการสอนนเปน phpMyAdmin 2.1.0 แต Version อนๆกคลายกนครบ ลงมอเลยดกวา :-) 1.> ทาการ Run PHPMyAdmin ขนมาเพอดวาเราจะ Dump Database ตวไหน

2.> หลงจากนนใหเราเลอก Database ทเราตองการ Dump ในทนผมใช Database : webthaidd คงไมวากน

Page 109: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

3.> หลงจากนนใหเราเลอก Properties ของตารางทเราตองการ Dump

4.> หลงจากทเราเลอก Propties แลวเรากมาเลอก Option ในการ Dump ขอมล

5.> เมอเราทาการเลอก Option เรยบรอยแลว กด GO กเปนอนเรยบรอย งายไหมครบ Tip - ถาเราตองการ Dump เฉพาะโครงสรางกเลอก Structure only นะครบ

Page 110: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

//บทเรยนมปญหา หรอแนะนาตชมเพอเปนกาลงใจในการเขยนบทความตอๆ ไปไดท [email protected]

การใชคาสง Random กบฐานขอมล

//บางคนถามวาถาเราตองการสมขอมลจากฐานขอมลทาอยางไร จรงๆแลวสามารถทาไดหลายวธ ทผมเขยนนเปนอกวธหนงนะครบ ลงมอเลยดกวา

รปแบบโคด Random ทใชในฐานขอมล //คาสงนเปนการสมขอความจากฐานขอมลออกมาแสดง <? $hostname = "localhost"; $user = ""; $password = ""; $dbname = "database name"; //ใสชอ Database $tblname = "table name"; //ใสชอตารางทเราตองการคนหาขอมล mysql_connect($hostname, $user, $password) or die("No Connect Database!"); mysql_select_db($dbname) or die("No Connect Database!"); $sql = "select * from $tblname"; //บรรทดทใชในการเขยนคาสง SQL $result = mysql_db_query($dbname,$sql); //นาคาสง SQL ไปประมวลผมกบ Database $num_rows = mysql_num_rows($result); //หาจานวนแถวทคนหาขอมลได $random_row = rand(0, ($num_rows - 1)); //ตรงนละครบทใชคาสง Random เพอสมคา mysql_data_seek($result,$random_row); //คนหาคาทไดจากการ Random $data = mysql_fetch_array($result); $message = $data["message"]; //นาขอมลทไดเกบใสทตวแปล echo $message; //แสดงขอมลจากตวแปลทได mysql_close(); ?> //ลองนาไปประยกตใชดนะครบ เชน การสม Banner ออกมาแสดงบนเวบไซต

การสรางแบบฟอรมสงเมล //พดถงแบบฟอรมสงเมล บางคนถามวาเราตอง Set คาอะไรบาง, จะสงอยางไร, สรางฟอรมอยางไร สวนใหญแลวการสงเมลผานโดยโปรโตคอล SMTP และสวนใหญคาเหลานเราไมสามารถเปลยนแปลงได จะเปนคาทกาหนดอยท Srever ดงนนเราเพยงแตสราง Form และเขยน Scripts ใหถกตองเพยงเทานเรากสามารถสงเมลไดแลว

เรมสรางแบบฟอรมสงเมล

Page 111: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

1.> เราจะใชโปรแกรมอะไรสรางแบบฟอรมกไดนะครบไมวาจะเปน HTML หรอจะเปนโปรแกรม Dreamweaver สดฮทกตามในทนผมใชโปรแกรม Dreamweaver เรมจากเปดหนาเอกสารทใชในการสราง Form พรอมกบเปดเครองมอทใชในการสราง Form เชนกน

2.> เรมนาเครองมอทใชสราง Text Field, Button มาใชในการสราง Form ดงรป

หมายเหต //ในสวนของการกาหนดคาตวแปลผมไดกาหนดคาไวดงน - ชองผสงกาหนดเปน : form - ชองผรบกาหนดเปน : to - ชองหวเรองกาหนดเปน : subject - ชองขอความกาหนดเปน : message * อยาลมกาหนด Action ใหฟอรมดวยนะครบ (ในทนผมให Action ไปท sent_mail.php 3.> หลงจากทเราสรางแบบฟอรมเสรจแลวกให Save เกบไวชอวา form_mail.htm Tip - การทเราไมได save เปนนามสกล .php เพราะวาเราไมไดเขยน Scripts ลงในไฟลเอกสารนนๆ

รปแบบโคดในไฟล (sent_mail.php) <? mail($to, $subject, $message, $form); //Function mail แลวตามดวยคาตวแปลตางๆ

Page 112: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

?> หมายเหต //แตถาเราตองการเชคคาวาทาการสงเสรจสมบรณหรอไมใหเขยนโคดดงน <? if(mail($to, $subject, $message, $form)){ //เพยงแคเราใส If เพอทาการเชคคาเพมลงไป echo "สงขอมลถง $to เรยบรอยแลว"; }else { echo "ไมสามารถสงขอมลถง $to ในขณะนได"; } ?> 4.> เสรจแลวกลองทดสอบดครบ !ไมสามารถทดสอบในเครองเราไดนะครบตองทดสอบท Server ทเราเชาบรการอยนะครบ ไดผลลพธอยางไร Post หรอเมลบอกบางนะครบ

การใชคาสง Include กบการแสดงผล

//บางคนถามวาการใชคาสง Include ใหแสดงผลตามตวแปลทเราตองการไดอยางไร ลงมอเลยดกวาครบ

ตวอยางโจทย //ถาเราสงคาตวแปลมาทไฟล index.php?page=lyrics (เพอทจะเปดหนาสวน template ตรง pagefile ใหเปน lyrics.php) หลงจากนนใหเปดไฟลทเราตองการขนมา

คาสงทใช - คาสง If..Else เพอทจะใชเชควาจะใหแสดงไฟลไหน - คาสง Include เพอใชในการนาไฟลทเราตองการมาแสดง

รปแบบโคด <? if($page=="lyrics"){ //เชคคาตวแปล include('lyrics.php'); //ถาถกตองนาไปแสดงผล } ?>

การนาไปใชถามหลายไฟล <? if($page=="lyrics"){ //เชคคาตวแปล include('lyrics.php'); //ถาถกตองนาไปแสดงผล }else if($page=="navigator"){ include('navigator.php'); } //เขยนตอไปเรอยเทาทเราตองการ ?> //เหนไหมครบไมยากเลยลองนาไปประยกตใชดนะครบ

การกาหนดคา ODBC

//กอนทเราจะตดตอฐานขอมลกบ Access กตองมการตงคาตวเชอมตอกอนกคอ ODBC ของเรานละครบ แตทผมเขยนเปนการตงคา ODBC ใน window xp หลายคนกอาจจะงงวามนไมเหมอนกนหรอ

Page 113: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

ไง จรงๆกเหมอนกนครบแตทอยของตวตงคานนตางกน ลงมอกนเลยดกวา 1.> เขาไปท Control Panel --> Administrative Tools จะปรากฏเครองมอ Set คา ODBC

2.> ใหเราเลอกเครองมอ Data Sources (ODBC) ขนมาเขาไปทหวขอ System DNS

3.> หลงจากนนกดปม Add จะมหนาตางใหเราเลอกกรเชอมตอเรากเลอกการเชอมโยงไปท Microsoft Access หลงจากนนกกดปม Finish

4.> หลงจากทเรากด Finish แลวจะมหนาตางมาใหเราระบทอยของไฟล Access (ตรงนสาคญ) ในชอง Data Source Name ใหเราใสชอทเราจะใชในการเชอมตอในการตงชอควรใหสอดคลองกบไฟลทเราทาเพอไมใหเกดการสบสน ยกตวอยางเชน ถาไฟลของเราเกยวกบหนงสอเราอาจตงชอเปน book หลงจากทเราไดตงชอเรยบรอยแลว ใหเราเลอกทปม Select เพอระบตาแหนงไฟล Access

Page 114: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

5.> หลงจากทเรากด Select แลวนนกจะปรากฏหนาตางขน เรากหาไฟล Access ทเราตองการ

6.> หลงจากนนกกด OK แคนกเสรจแลวครบไมยากเลยใชไหมครบลองนาไปใชด

//มปญหาบทเรยน หรอสนใจสงบทความเขารวมตดตอ [email protected]

การประกาศตวแปลในภาษา PHP

//จรงๆ แลวในการประกาศตวแปลในภาษา PHP จะไมตองมการกาหนดอะไรมากมายนก จะไมเหมอนภาษา C ซงถาเราประกาศตวแปลเปนชนดใดเราจะตองบอกดวยวาตวนนเปนชนดใด แตในภาษา PHP ไมตองเพยงแคเราประกาศตวแปลและเรยกใชใหถกตองแคนนเอง

ขอบเขตการตงชอตวแปล

Page 115: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

1. ขนตนดวยเครงหมาย $ แลวตามดวยตวอกษร A-Z,a-z 2. มความยาวไมเกน 255 ตวอกษร 3. หามมจดทศนยม หรอชองวาง 4. จะตองไมตรงกบคาสงวน และควรตงชอ ใหมความหมายใกลเคยงกบ คาทเกบ 5. ตวอกษรเลกหรอใหญจะเปนตวแปรตางกน 6. ถาตงตวแปรมาใหม แลวทบตวแปรเกา คาของตวแปรเกาจะหายไป ทมา : ThaiCreate.Com

รปแบบการประกาศตวแปลชนดตางๆ //การประกาศตวแปลชนด Integer <? $number; //บรรทดนเปนการประกาศตวแปลแตยงไมไดระบคา $data =100; //บรรทดนเปนการประกาศตวแปลแบบระบคา echo $data; //ลองทดลองด ?> //การประกาศตวแปลชนด Float <? $number; //จะมการประกาศทเหมอนกนครบแตเรยกใชใหถก $data =100.53; //จะเหนไดวาบรรทดนสามารถใสจดทศนยมลงไปได echo $data; //ลองดกนดกวา ?> //การประกาศตวแปลชนด String <? $url="webthaidd.com"; //ขอสงเกตการประกาศตวชนดนจะมเครองหมาย (" ") ครอบอย $text_number="12345"; //หรอขอความทเปนตวเลขดวย echo $url.$text_number; ?>

ชนดของตวแปลในภาษา PHP //ในภาษาทมการเขยนโปรแกรมกมการประกาศตวแปล เพอนาขอมลทไดรบไปเกบไวใน Memory เพอรอนาไปประมวลผลอท ดงนนกอนทเราจะประกาศตวแปลเราตองรจกชนดของตวแปลกอน

รปแบบชนดของตวแปล

Integer :เปนตวแปลชนดทเกบขอมลจานวนเตมบวก และจานวนเตมลบ ไมสามารถเกบขอมลทเปนทศนยมได

Float :เปนตวแปลชนดทเกบขอมลจานวนเตมบวก และลบจะคลายชนด Integer แตสามารถเกบขอมลทเปนจดทศนยมได

String :เปนตวแปลชนดทเกบขอมลประเภทตวอกษร เชน ขอความ ตวอกษรชนดตางๆ Array :เปนตวแปลทสามารถเกบขอมลไดเปนชดๆ สามารถใชเกบขอมลทเปนตวเลขหรอ

ตวอกษรกได Object :เปนตวแปลทเกบขอมลในลกษณะของ Object เพอใชในการเรยกใชของ Class

ตางๆ Type Juggling

:เกบขอมลในลกษณะเฉพาะ หรอผใชเพมเตมเขามา

การเชอมขอความหลายขอความ

Page 116: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

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

รปแบบโคด //แบบท1 ใชจดในการเชอม (.) <? echo "WebThaiDD".".COM";//ในคาสงนเราใชจดในการเชอม (คงเหนนะครบ [-_-!] จดเลกไปหนอย) ?> //แบบท2 ใชคอมมารในการเชอม (;) <? echo "WebThaiDD",".COM";//คาสงนใชคอมมารในการเชอม ?>

//ลองนาไปใชดนะครบ คาสงแสดงผลบน Browser //คาสงแสดงผลบน Browser เปนคาสงทใชในการแสดงขอมลไมวาจะเปน ขอความ, รปภาพ, ขอมลในฐานขอมล เราสามารถเขยนรปคาสงดงน

รปแบบโคด <? echo "webthaidd.com"; //รปแบบคาสงทใชแสดงโดยเราจะเขยนขอมลทเราตองการแสดงผลไวในเครองหมาย "..." และปดทายดวยเครองหมาย ; ?>

รปแบบอนๆ echo $name; //ใชในการแสดงผลตวแปล เชนตวแปล $name

โครงสรางของภาษา PHP //ภาษาทเราใชเขยนโฮมเพจ ทกภาษายอมมรปแบบเปนของตวเอง ภาษา PHP กเชนกน

รปแบบโคด <? //TAG เรมตนในการเขยน ........... //สวนรายระเอยดของโฮมเพจทเราตองการแสดง ?> //TAG จบการทางาน เขยนในรปแบบอน <?php ........//เขยนอกแบบหนงแตใชงานเหมอนกน ?>

การนาโคด PHP ใสใน HTML

Page 117: บทความ PHP Programing-edit-ok · ปล. อันนี้ต องใช กับตัวแบ งนะ ห ามเอาออก */ $Qtotal = mysql_query("select

//บางคนถามวาเราเขยน PHP มาตงนานแลวจะเอาไปใชกบ HTML ยงไงละเนยงง ไหนจะโปรแกรม Dreamweaver ยงไมเปนอยวนเลยใชไหมครบ ถาเพอนๆ อานบทความนแลวทาไดแน

รปแบบ HTML ของเดม (จากนไดไหม) <html> <head> <title>webthaidd.com</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> //ทราบหรอไมวา charset=windows-874 ทาใหเวบเปนภาษาไทย </head> <body bgcolor="#FFFFFF">

</body> </html>

จบ PHP ใส HTML //ยกตวอยางเราจะแสดงขอความตอนรบในเวบโดยใช PHP //จากโคด HTML ตวเดมนะครบ <html> <head> <title>webthaidd.com</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-874"> </head> <body bgcolor="#FFFFFF"> <? echo "ยนดตอนรบเขาส webthaidd.com"; //นไงครบไมยากเลยใชไหมครบ ?>

</body> </html>

//ลองนาไปใชดนะครบ