intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Tạo wed động với php và mySQL

Chia sẻ: Traicoi | Ngày: | Loại File: PDF | Số trang:14

235
lượt xem
105
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu này hướng dẫn sử dụng 2 phần mềm mã nguồn mở PHP và MySQL để tạo các trang Web động. Khi đọc hết tài liệu này, bạn sẽ biết Web động làm việc như thế nào và chúng lấy thông tin, hiển thị thông tin trên Web site của bạn như thế nào. Giới thiệu tác giả: Nghiêm Phú Cường Hiện đang công tác tại Trung tâm tin học Thống kê, thuộc Tổng Cục Thống kê, địa chỉ 54 Nguyễn Chí Thanh. Web site: http://www.diachiweb.com Email: cuongnp@diachiweb.com Nếu bạn có comment gì xin vui lòng gửi email cho tôi,...

Chủ đề:
Lưu

Nội dung Text: Tạo wed động với php và mySQL

  1. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com T¹o Web ®éng víi PHP vµ MySQL Môc lôc 1. Giíi thiÖu vÒ tµi liÖu 2. H­íng dÉn, vµ h­íng dÉn cµi ®Æt 3. ViÕt m∙ lÖnh 4. Thªm b¶n ghi 5. Xo¸, thªm vµ t×m kiÕm d÷ liÖu T¹o Web ®éng b»ng PHP & MySQL 1
  2. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com 1. Giíi thiÖu tµi liÖu Tµi liÖu nµy h­íng dÉn sö dông 2 phÇn mÒm m∙ nguån më PHP vµ MySQL ®Ó t¹o c¸c trang Web ®éng. Khi ®äc hÕt tµi liÖu nµy, b¹n sÏ biÕt Web ®éng lµm viÖc nh­ thÕ nµo vµ chóng lÊy th«ng tin, hiÓn thÞ th«ng tin trªn Web site cña b¹n nh­ thÕ nµo. Giíi thiÖu t¸c gi¶: Nghiªm Phó C­êng HiÖn ®ang c«ng t¸c t¹i Trung t©m tin häc Thèng kª, thuéc Tæng Côc Thèng kª, ®Þa chØ 54 NguyÔn ChÝ Thanh. Web site: http://www.diachiweb.com Email: cuongnp@diachiweb.com NÕu b¹n cã comment g× xin vui lßng göi email cho t«i, xin c¶m ¬n. T¹o Web ®éng b»ng PHP & MySQL 2
  3. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com Giíi thiÖu vµ h­íng dÉn cµi ®Æt T¹i sao l¹i cÇn néi dung ®éng NÕu néi dung trang Web cña b¹n ngµy mét nhiÒu, b¹n cÇn ph¶i t¹o Web ®éng, b¹n thö h×nh dung nÕu b¹n cã mét cöa hµng ®iÖn tö trªn Web cã 1.000 s¶n phÈm. B¹n ph¶i t¹o 1.000 trang Web cho mçi s¶n phÈm vµ khi mäi thø thay ®æi, b¹n ph¶i söa ®æi l¹i tÊt c¶ nh÷ng trang ®ã. §ã lµ mét viÖc kh«ng høng thó vµ tèn thêi gian, vËy b¹n ph¶i cÇn Web ®éng, b¹n chØ viÖc t¹o mét trang hiÓn thÞ, vµ néi dung tõng s¶n phÈm l­u tr÷ trong c¬ së d÷ liÖu, th«ng tin hiÓn thÞ sÏ tu ú thuéc vµo sù truy cËp cña ng­êi truy cËp PHP lµ mét ng«n ng÷ kÞch b¶n cã m∙ nguån më, MySQL lµ hÖ qu¶n trÞ c¬ së d÷ liÖu cã m∙ nguån më, dÔ sö dông, cµi ®Æt ®¬n gi¶n vµ gi¸ thÊp. Cµi ®Æt Apache server Tr­íc tiªn b¹n h∙y cµi ®Æt Apache, tµi liÖu nµy h­íng dÉn b¹n cµi ®Æt trªn hÖ ®iÒu hµnh m∙ nguån më Linux. §Ó cµi ®Æt b¹n cÇn ph¶i ®­ îc phÐp truy cËp vµo root trªn m¸y chñ cña b¹n. Cµi ®Æt Apache b¹n ph¶i download file apache_x.x.xx.tar.gz (vÝ dô: apache_1.3.14.tar.gz) tõ Web site cña Apache vµ l­u chóng vµo th­ môc /tmp/src. Sau ®ã b¹n h∙y tíi th­ môc ®ã: §Ó cµi ®Æt b¹n h∙y thùc hiÖn lÖnh sau: # ./configure –prefix=/usr/local/apache –enable-module=so # make # make install Apache sÏ ®­îc cµi ®Æt vµo th­ môc /usr/local/apache, nÕu b¹n muèn thay ®æi th­ môc h∙y thay thÕ /usr/local/apache b»ng th­ môc b¹n muèn. B©y giê Apache ®∙ ®­îc cµi ®Æt vµo m¸y tÝnh cña b¹n. B¹n còng cã thÓ thay ®æi tªn m¸y chñ thµnh mét tªn cã ý nghÜa nµo ®ã, ®Ó lµm viÖc nµy b¹n h∙y më tÖp httpd.con f (n»m ë th­ môc /usr/local/apache/conf) vµ t×m dßng b¾t ®Çu b»ng ServerName. Thay ServerName b»ng mét tªn cña b¹n, vÝ dô localhost B©y giê b¹n h∙y kiÓm tra viÖc cµi ®Æt, kh ái ®éng Apache HTTP server b»ng lÖnh: T¹o Web ®éng b»ng PHP & MySQL 3
  4. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com # /usr/local/apache/bin/apachectl start B¹n sÏ thÊy th«ng ®iÖp nh­ sau: “httpd started”. Më tr×nh duyÖt Web vµ g â ®Þa chØ http://localhost, b¹n sÏ thÊy trang Web hiÖn thÞ. Cµi ®Æt MySQL Sau ®©y chóng ta sÏ cµi ®Æt MySQL, c òng t­¬ng tù nh­ cµi ®Æt Apache, b¹n download tÖp tin cµi ®Æt tõ Web site MySQL, vµ l­u nã vµo th­ môc /tmp/src. Phiªn b¶n míi nhÊt mµ t«i ®­îc biÕt lµ mýql-3.22.32.tar.gz # cd /tmp/src # gunzip –dc mysql-x.xx.xx.tar.gz | tar xv # cd mysql –x.xx.xx # ./configure –prefix=/usr/local/mysql # make # make install B©y giê MySQL sÏ ®­îc cµi ®Æt vµo m¸y tÝnh cña b¹n Cµi ®Æt PHP ViÖc cµi ®Æt PHP còng hoµn toµn t­¬ng tù nh­ cµi ®Æt MySQL. Download vµ l­u tõ PHP site vµo th­ môc /tmp/src # cd /tmp/src # gunzip –dc php-x.xx.xx.tar.gz | tar xv # cd php –x.xx.xx # ./configure - - with-mysql=/usr/local/mysql - -with-apxs=/usr/local/apache/bin/apxs # make # make install Copy file ini tíi th­ môc: # cd php.ini-dist /usr/local/lib/php.ini Më tÖp httpd.conf vµ t×m ®Õn ®o¹n cã néi dung sau: # And for PHP 4.x, use T¹o Web ®éng b»ng PHP & MySQL 4
  5. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com # #AddType application/x-httpd-php .php #AddType application/x-httpd-php-source .phps B¹n h∙y gì bá nh÷ng dÊu # tr­íc AddType, b¹n sÏ thÊy nh­ sau: # And for PHP 4.x, use # AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps L­u l¹i tÖp vµ khëi ®éng l¹i Apache B¹n h∙y kiÓm tra viÖc cµi ®Æt PHP cña m×nh b»ng c¸ch g â so¹n th¶o ®o¹n m∙ sau: L­u víi tªn test.php, sau ®ã b¹n h∙y gäi tÖp tin tõ tr×nh duyÖt Web cña b¹n. NÕu b¹n thÊy kÕt qu¶ hiÓn thÞ nh­ mµn h×nh sau, cã nghÜa lµ b¹n ®∙ cµi ®Æt thµnh c«ng, nÕu b¹n kh«ng thÊy néi dung nh­ h×nh, b¹n h∙y cµi ®Æt l¹i MySQL vµ PHP. T¹o Web ®éng b»ng PHP & MySQL 5
  6. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com B¾t ®Çu viÕt m· Theo truyÒn thèng, chóng ta sÏ viÕt m∙ b ¾t ®Çu víi tõ “hello world” lµm vÝ dô. B¹n h∙y gäi ch­¬ng tr×nh so¹n th¶o vµ gâ vµo nh÷ng dßng lÖnh sau: B¹n h∙y l­u tÖp tin víi tªn first.php vµ gäi hiÓn thÞ trªn tr×nh duyÖt Web. Trang Web sÏ hiÓn thÞ “Hello World”. Xem m∙ HTML cña trang nµy b¹n sÏ thÊy ®o¹n te xt Hello World. §iÒu nµy cã nghÜa lµ m∙ PHP ®∙ ®­îc thùc hiÖn. B¹n h∙y ghi nhí lµ ®Ó më vµ ®ãng mét khèi m∙ PHP. T¹o c¬ së d÷ liÖu Nh­ vËy lµ b¹n thÊy PHP ®∙ lµm viÖc vµ b¹n ®∙ t¹o ®­ îc nh÷ng ®o¹n m∙ ®Çu tiªn, b©y giê chóng ta sÏ t¹o mét c¬ së d÷ liÖu ®Ó lµm viÖc. B¹n h∙y g â lÖnh sau: Mysqladmin –uroot create learndb Víi lÖnh trªn c¬ së d÷ liÖu “learndb” sÏ ®­îc t¹o. B©y giê chóng ta sÏ t¹o b¶ng d÷ liÖu, b¹n h∙y thùc hiÖn lÖnh sau: mysql B¹n sÏ thÊy néi dung sau: Welcome to MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 to server version 3.22.34 Type ‘help’ for help T¹o Web ®éng b»ng PHP & MySQL 6
  7. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com Gâ lÖnh: CONNECT learndb CREATE TABLE personel ( id int NOT NULL AUTO_INCREMENT, firstname varchar(25), lastname varchar(20), nick varchar(12), email varchar(35), salary int, PRIMARY KEY (id), UNIQUE id (id) ); INSERT INTO personel VALUES (‘1’, ‘Cuong’,’Nghiem Phu’,’cuongnp’,’cuongnp@diachiweb.com ’,’1500’); INSERT INTO personel VALUES (‘2’,’Van’,’Nguyen Thi’,’vannt’,’vannt@diachiweb.com’,’1500’); HiÓn thÞ B©y giê b¹n ®∙ cã d÷ liÖu, chóng ta sÏ hiÓn thÞ nã víi PHP. L­u ®o¹n m∙ sau víi tªn tÖp tin viewdb.php:
  8. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com while ($myrow = mysql_fetch_array($result)) { echo “”; echo $myrow [“firstname”]; echo “ “; echo $myrow [“lastname”]; echo “”; echo $myrow[“nick”]; echo “”; echo $myrow[“salary”]; } echo “”; ?> Gäi hiÓn thÞ trªn tr×nh duyÖt Web b¹n sÏ thÊy kÕt qu¶ ®­îc hiÓn thÞ, tuy nhiªn ®o¹n m∙ nµy lµm viÖc nh­ thÕ nµo? Tr­íc tiªn h∙y xem biÕn ®Çu tiªn ®­îc khai b¸o $db. Trong PHP chóng ta ®Þnh nghÜa biÕn víi ký tù “$” ë ®Çu. Chuçi ký tù ®i sau $ lµ tªn cña biÕn. Chóng ta g¸n gi¸ trÞ cho biÕn b»ng m∙ lÖnh: $variable_name = somevalue; B¹y h∙y lu«n nhí lµ thªm dÊu “;” ë cuèi dßng lÖnh PHP. Chóng ta ®∙ ®Þnh ngh Üa biÕn $db vµ t¹o kÕt nèi tíi c¬ së d÷ liÖu mysql b»ng lÖnh: “mysql_connect(“localhost”,”root”,””)” lÖnh nµy cã nghÜa lµ kÕt nèi tíi d÷ liÖu ë m¸y chñ cã tªn localhost, víi ng­êi truy cËp cã tªn root vµ mËt khÈu “”. B¹n h∙y thay thÕ chóng b»ng tªn vµ mËt khÈu cña m×nh. Chóng ta muèn lÊy th«ng tin tõ c¬ së d÷ liÖu, chóng ta truy vÊn d÷ liÖu b»ng lÖnh “$result=mysql_query(“SELECT * FROM personel”,$db)” Thùc hiÖn truy vÊn trªn víi m∙ lÖnh PHP mys ql_query() vµ l­u kÕt qu¶ vµo biÕt $result. Chóng ta dïng hµm mysql_fetch_array() ®Ó biÕt chÝnh x¸c ®ang ë b¶n ghi nµo l­u vµo biÕn $myrow. Chóng ta ®­a d÷ liÖu ra mµn h×nh “echo $myrow[“firstname”];” Ngay b©y giê b¹n h∙y gäi hiÓn thÞ viewdp.php trªn tr×nh duyÖt Web cña b¹n. Vµ b¹n sÏ thÊy kÕt qu¶. T¹o Web ®éng b»ng PHP & MySQL 8
  9. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com Thªm mét b¶n ghi T¹o mét form HTML B¹n ®∙ hiÓn thÞ ®­îc d÷ liÖu l­u trong c¬ së d÷ liÖu MySQL, nh­ng b¹n muèn thªm d÷ liÖu. Chóng ta gi¶ sö, b¹n ®∙ biÕt vÒ HTML form, ®o¹n m∙ sau sÏ t¹o form HTML, b¹n h∙y l­u víi tªn datain.html First name: Last name: Nick name: Email: Salary: B©y giê chóng ta ®∙ cã form ®Ó ®­a th«ng tin vµo trang “datain.php”. Chóng ta ph¶i viÕt m∙ cho trang nµy ®Ó nã cã kh¶ n¨ng ®­a th«ng tin vµo c¬ së d÷ liÖu MySQL cña chóng ta. M∙ ®­îc viÕt nh­ sau:
  10. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com PHP cã mét c¸ch thËt hay ®Ó nhËn d÷ liÖu, víi « te xtbox cã tªn “first”, t¹o víi biÕn $first vµ nã sÏ cã d÷ liÖu ®­îc nhËp ë « textbox. B©y giê chóng ta sÏ gép hai ®o¹n m∙ ë hai tÖp “datain.html” vµ “datain.php” vµo 1 tÖp, chóng ta gäi lµ input.php, m∙ ®­ îc viÕt nh­ sau: T¹o Web ®éng b»ng PHP & MySQL 10
  11. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com First name: Last name: Nick name: Email: Salary: §o¹n m∙ trªn sÏ hiÓn thÞ mét form ®Ó nhËp d÷ liÖu hoÆc ®­a d÷ liÖu vµo c¬ së d÷ liÖu. §o¹n m∙ trªn hiÓu khi nµo ph¶i lµm c¸i g×! Chóng ta ®∙ biÕt r»ng PHP tù ®éng t¹o viÕt víi th«ng tin ®Ó ®­a vµo. V× vËy nã sÏ tù ®éng t¹o biÕn $submit khi form ®­îc gäi ®­a d÷ liÖu. §o¹n m∙ trªn sÏ tù ®éng t×m kiÕm gi¸ trÝ cña biÕn $submit, nÕu tån tµi vµ cã gi¸ trÞ th× d÷ liÖu sÏ ®­îc ®­a vµo c¬ së d÷ liÖu, ng­îc l¹i sÏ hiÓn thÞ form ®Ó nhËp liÖu. T¹o Web ®éng b»ng PHP & MySQL 11
  12. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com Xo¸, söa vµ t×m kiÕm d÷ liÖu Xo¸ d÷ liÖu Chóng ta ®∙ biÕt hiÓn thÞ d÷ liÖu vµ thªm d÷ liÖu vµo c¬ së d÷ liÖu. B©y giê chóng ta sÏ viÕt m∙ ®Ó xo¸ mét sè d÷ liÖu theo ý cña chóng ta. Tªn tin delete.php cña chóng ta sÏ gióp chóng ta lµm viÖc ®ã. LÖnh SQL ®Ó xo¸ d÷ liÖu nh­ sau: “DELETE FROM database_name WHERE field_name=somevalue”
  13. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com ?>
  14. Nghiem Phu Cuong, http://www.diachiweb.com, email: cuongnp@diachiweb.com First Name Last Name Nick Name Email §o¹n m∙ trªn sÏ t×m kiÕm mét ng­êi cã tªn trïng víi gi¸ trÞ cña biÕn searchstring. T¹o Web ®éng b»ng PHP & MySQL 14
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2