practical php and mysql walkthrough using sample codes – max ng

34
PRACTICAL PHP AND MYSQL WALKTHROUGH USI NG S AMPLE CO DES MAX NG

Upload: elise-mires

Post on 16-Dec-2015

234 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

PRACTI

CAL PHP

AND

MYSQL W

ALKTH

ROUGH

US

I NG

SA

MP

L E C

OD

ES

– M

AX

NG

Page 2: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

WHY PHP AND MYSQL?

• Easy to learn and install• Free to use and readily for

download•LAMP is a solution stack of free, open source software.

• Rich resources in WWW• Well supported in PolyU COMP lab

Page 3: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

PHP IN POLYU COMP LAB

PHP (Apache)

• PHP files are to be placed in :/webhome/<your id>/public_html

• Solaris Cluster Machine can be accessed thr PC using

WINSCP (file transfer) PuTTY (Line command session)

• The website can be accessed using Web browser to the url link : • http:/www.comp.polyu.edu.hk/~<your id>/index.php

Page 4: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

MYSQL IN POLYU COMP LAB

MySQL

• A MySQL account is readily activated for your perusal.

• Account Details: Host: mysql.comp.polyu.edu.hk:3306 User: <your id> Password: <assigned, please check your email> Schema: <your id>

• To directly manipulate your schema thr’ PC: In Lab PC, there is a GUI Tool: • "COMP" ->"Network Application Packages" -

>"Database" ->"MySQL" ->"MySQLQBrowser“

Page 5: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

WE WILL WALKTHROUGH PHP AND MYSQL TOGETHER• Purpose oriented • Start from Database table preparation • To website implementation

• Using a simple website to study some basic coding technique• My Book Store

• Using a advanced website to walkthrough a e-commerce system• My Web Shop

Page 6: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

AT THE END OF SESSION, WE SHOULD BE ABLE TO USE THE PROVIDED CODE TO BUILD A SIMPLE WEB SITE.1. MySQL table setup Create table Insert record

2. Write PHP page Connect to MySQL Take the http-get parameters Handle session Looping control Generate dynamic web page thr select statement

Page 7: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

BASIC WEB PAGE DESIGN OF “MY BOOK STORE”1. Request user login

2. Show product list and selection

3. Purchase list summary

index.php

books.php

summary_order.php

Page 8: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

WE HAVE TO CREATE A SCHEMA AT FIRST IN MYSQL.

1. Create the schema to house our new table.

CREATE DATABASE <dbname>;

Note:

a. To remove the schema, we issue DROP DATABASE <dbname>;

b. In COMP lab, we use only our login ID as our default schema.

2. Change our session to another schema by issuing USE <dbname>;

Page 9: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

WE PUT THE BOOKLIST TABLE INTO THE ACTIVE SCHEMA.

1. Create table by issuing

CREATE TABLE [IF NOT EXISTS]

<tableName> ( <columnName> <columnType> <columnAttribute>, ... PRIMARY KEY(<columnName>), FOREIGN KEY (<columnName>) REFERENCES <tableName> (<columnName>) ) ;

E.g.

CREATE TABLE book_records_store(

Book_No BIGINT NOT NULL AUTO_INCREMENT,

Book VARCHAR(150) NOT NULL,

Price DECIMAL(5,2) NOT NULL,

PRIMARY KEY(Book_No))ENGINE=MyISAM AUTO_INCREMENT=1;

Page 10: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

WE INSERT RECORDS INTO THE BOOKLIST TABLE.

1. Insert record by issuing

INSERT INTO <tableName>

VALUES (<column1Value>, <column2Value>,...), ...

e.g.

INSERT INTO book_records_store VALUES

(null,'C++ for Starters','125.50'),

(null,'Java AWT Package','178.50');

Page 11: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

FINALLY, WE INSPECT THE TABLE CONTENT.• Review the schemas we have SHOW DATABASES;

• Set active schema by issuing USE <dbname>;

• Review all table names in a schema SHOW TABLES;

• Browse the table content

SELECT * | <column1Name> AS <alias1>, ..., <columnNName> AS <aliasN> FROM <tableName> WHERE <criteria> GROUP BY <columnName> ORDER BY <columnName> ASC|DESC, ... HAVING <groupConstraints> LIMIT <count> | <offset> <count>;

e.g.

SELECT * FROM book_records_store;

Page 12: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

BASIC WEB PAGE DESIGN OF “MY BOOK STORE”1. Request user login

2. Show product list and selection

3. Purchase list summary

index.php

books.php

summary_order.php

Page 13: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

THE SIMPLEST FORM OF PHP PAGE IS ACTUALLY A PAGE OF HTML TAG.

Index.php

Page 14: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

WE HAVE TO PASS INPUT VALUES FROM INDEX.PHP TO BOOKS.PHP USING HTTP-GET

<form method="GET" action="books.php">

<input type="text" name="fname"/></td>

<input type="text" name="lname"/></td>

<input type="submit" name="Loging" value="Login"/></td>

</form>

http://.../books.php?fname=Max&lname=Ng&Loging=Login

index.php

books.php

(1)

(1)

(1)

(1)

(2)

(2)

(2)(3)

(3)

(2)

Page 15: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

BASIC WEB PAGE DESIGN OF “MY BOOK STORE”1. Request user login

2. Show product list and selection

3. Purchase list summary

index.php

books.php

summary_order.php

Page 16: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

WE SHOW THE LIST OF BOOKS IN OUR BOOKLIST TABLE IN THE BOOKS.PHP

Page 17: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

PHP CODE IS EMBEDDED INTO HTML PAGE TO GENERATE THE BOOKLIST TABLE.1. First of all, we connect to the database we just created and

build our database query.

include is to take the code from another php file and evaluate. databaseconfig.php

Page 18: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

NEXT, CREATE SESSION TO LET VALUES TO BE AVAILABLE THROUGHOUT SESSION

[2] $_GET: Return the http-get variable. Do you remember what is this variable?

[4] $_REQUEST: Return the variable either in the array variables in http-get, http-post or cookies.

[3] session_start(): start a session

[5] $_SESSION: refer to a session variable to be available throughout the session

[1] isset() : check null

[1] [2]

[3]

[4]

[5]

Page 19: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

LASTLY, EXTRACT THE DATABASE QUERY RETURN AND CONSTRUCT THE BOOKLIST TABLE

[1]

[1] mysql_fetch_array() : Fetch a result row as an array

[2]

[2] echo : output http text

[3]

[3] in calling order_summary.php, http-get will pass an array with name “order[]” and value which is the price of the book.

Page 20: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

ONLY THE CHECKBOX = ‘Y’ WILL BE HTTP-GET TO THE SUMMARY_ORDER.PHP

http://.../order_summary.php?order%5B%5D=125.50&order%5B%5D=186.75&order%5B%5D=189.00&Ord=Order

Page 21: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

BASIC WEB PAGE DESIGN OF “MY BOOK STORE”1. Request user login

2. Show product list and selection

3. Purchase list summary

index.php

books.php

summary_order.php

Page 22: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

SUMMARY_ORDER.PHP CONSTRUCT THE ORDER TABLE AND OUTPUT AS HTTP PAGE

[1]

[1] session_start() : Retrieve the saved session. Now the session variable “firstN” and “lastN” available.

[2]

[2] count() : count the no. of element in an array

[?]

[?] We will discuss in the coming lab session.

Page 23: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

SUMMARY_ORDER.PHP CONSTRUCT THE ORDER TABLE AND OUTPUT AS HTTP PAGE (CONT’D)

Page 24: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

AT THE END OF SESSION, WE SHOULD BE ABLE TO USE THE PROVIDED CODE TO BUILD A SIMPLE WEB SITE.1. MySQL table setup Create table Insert record

2. Write PHP page Connect to MySQL Take the http-get parameters Handle session Looping control Generate dynamic web page thr select statement

Page 25: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

FUNCTIONAL WALKTHROUGH: A ECOMMERCE SYSTEM USING PHP AND MYSQL

Page 26: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

A COMPREHENSIVE ECOMMERCE SITE SHOULD BE ABLE TO:

1. Handle customer request in timely fashion

2. Provide sufficient information for customer to make purchase decision

3. Smoothen the process from product selection to payment

4. Maintain the product list and stock control

5. Maintain the order information

6. Maintain the customer information

7. Perform web advertising and site analytics

Page 27: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

PRODUCT LIST INTEGRATED WITH SHOPPING CART

Page 28: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

SHOPPING CART PROVIDED WITH DIRECT CHECKOUT OR BACK TO SHOPPING

Page 29: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

CHECK OUT, PAYMENT AND EMAIL NOTIFICATION ALL-DO IN ONE-TAKE

Page 30: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

ADMINISTRATION: CATALOG, ORDER MANAGEMENT AND MINOR SCREEN LAYOUT

Page 31: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

CATALOG MANAGEMENT ON PRODUCT, FEATURED PRODUCT LIST AND STOCK MANAGEMENT

Page 32: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

TRACE CUSTOMER NEW ORDER AND FURTHER BACKEND PROCESSING

Page 33: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

COMPREHENSIVE SITE CONFIGURATION ON VARIOUS SETTINGS

Page 34: PRACTICAL PHP AND MYSQL WALKTHROUGH USING SAMPLE CODES – MAX NG

Thanks!!