class php 2 - .: ftsm · a123459 shakira fssk pelajar. 3 tp2543 nomatriknomatrik nama namanama...

15
1 TP2543 WEB PROGRAMMING PHP & Database / September 2010 GOAL GOAL Learn about Database Basic concepts - RDBMS MS Access SQL Learn about PHP-MySQL programming DATABASE Database – an integrated collection of data DBMS – mechanism to store and organize data according to database format Relational databases – popular Uses SQL to perform queries, manipulate data MS Access, MySQL, MS SQL, Oracle, Sybase, DB2

Upload: ngomien

Post on 19-Sep-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

1

TP2543 WEB PROGRAMMING

PHP & Database / September 2010

GOALGOAL

� Learn about Database

�Basic concepts - RDBMS

�MS Access

� SQL

� Learn about PHP-MySQL programming

DATABASE

� Database – an integrated collection of data

� DBMS – mechanism to store and organize data

according to database format

� Relational databases – popular

�Uses SQL to perform queries, manipulate data

�MS Access, MySQL, MS SQL, Oracle, Sybase, DB2

2

DATABASE MODELS

RDBMS

� Relational database model – logical

presentation of data that allows focusing on

relations among data items, rather than

physical structure

� Composed of tables

�Rows and Columns

� Primary key – unique ID

EXAMPLE: DB TP2543

TP2543TP2543TP2543TP2543

NoMatrikNoMatrikNoMatrikNoMatrik NamaNamaNamaNama JabatanJabatanJabatanJabatan

A123456 Lauren TP

A123457 Colbie TR

A123458 Mary Jo Lisa EDU

A123459 Shakira FSSK

PELAJAR

3

TP2543TP2543TP2543TP2543

NoMatrikNoMatrikNoMatrikNoMatrik NamaNamaNamaNama JabatanJabatanJabatanJabatan KumpulanKumpulanKumpulanKumpulan

A123456 Lauren TP 1

A123457 Colbie TR 2

A123458 Mary Jo Lisa EDU 2

A123459 Shakira FSSK 3

PELAJAR

TP2543TP2543TP2543TP2543

NoMatrikNoMatrikNoMatrikNoMatrik NamaNamaNamaNama JabatanJabatanJabatanJabatan

A123456 Lauren TP

A123457 Colbie TR

A123458 Mary Jo Lisa EDU

A123459 Shakira FSSK

PELAJAR

NoMatrikNoMatrikNoMatrikNoMatrik Asgn1Asgn1Asgn1Asgn1 Asgn2Asgn2Asgn2Asgn2

A123456 10 4

A123457 2 9

A123458 6 5

A123459 8 7

MARKAH INDIVIDU

TP2543TP2543TP2543TP2543NoMatrikNoMatrikNoMatrikNoMatrik NamaNamaNamaNama JabatanJabatanJabatanJabatan KumpKumpKumpKump

A123456 Lauren TP 1

A123457 Colbie TR 1

A123458 Mary Jo Lisa EDU 2

A123459 Shakira FSSK 3

PELAJAR

KumpKumpKumpKump ProposalProposalProposalProposal ProjekProjekProjekProjek

1 77 89

2 34 91

3 62 56

4 55 75

MARKAH KUMPULANNoMatrikNoMatrikNoMatrikNoMatrik Asgn1Asgn1Asgn1Asgn1 Asgn2Asgn2Asgn2Asgn2

A123456 10 4

A123457 2 9

A123458 6 5

A123459 8 7

MARKAH INDIVIDU

4

MS ACCESS DEMO

SQL

� SQL – Structured Query Language

� SQL can be used to access and manipulate

databases

SELECT * FROM pelajar

SELECT * FROM pelajar

WHERE NoMatrik=‘A123456’

SQL QUERIES

� Query database for specific information and

have a recordset returned from table

SELECT SELECT SELECT SELECT namanamanamanama FROM FROM FROM FROM pelajarpelajarpelajarpelajar

namanamanamanama

Jalil

Gopal

Ah Meng

5

SQL KEYWORDS

� SELECT – select from tables

� FROM – specifies tables

� WHERE – specifies criteria

� INSERT – inserts data into table

� UPDATE – updates data in table

� DELETE – deletes data in table

� CREATE – create new table

� DROP – delete existing table

SQL KEYWORDS USAGE

SELECT * FROM SELECT * FROM SELECT * FROM SELECT * FROM pelajarpelajarpelajarpelajar

Output: select all columns from table pelajar

SELECT SELECT SELECT SELECT namanamanamanama, , , , nomatriknomatriknomatriknomatrik FROM FROM FROM FROM pelajarpelajarpelajarpelajar

Output: select columns nama and nomatrik from table pelajar

SELECT SELECT SELECT SELECT namanamanamanama, , , , nomatriknomatriknomatriknomatrik FROM FROM FROM FROM pelajarpelajarpelajarpelajar

WHERE WHERE WHERE WHERE nomatriknomatriknomatriknomatrik=‘A12345’=‘A12345’=‘A12345’=‘A12345’

Output: select columns nama, nomatrik from table pelajarwhere row nomatrik equals ‘A12345’

SQL KEYWORDS USAGE

INSERT INTO INSERT INTO INSERT INTO INSERT INTO pelajarpelajarpelajarpelajar ((((nomatriknomatriknomatriknomatrik, , , , namanamanamanama, , , , jabatanjabatanjabatanjabatan, , , , kumpulankumpulankumpulankumpulan))))

VALUES (‘A12365’, ‘VALUES (‘A12365’, ‘VALUES (‘A12365’, ‘VALUES (‘A12365’, ‘HashimHashimHashimHashim’, ‘4’, ‘9’) ’, ‘4’, ‘9’) ’, ‘4’, ‘9’) ’, ‘4’, ‘9’)

Action: insert specified value to table pelajar, creating new row

DELETE FROM DELETE FROM DELETE FROM DELETE FROM pelajarpelajarpelajarpelajar

WHERE WHERE WHERE WHERE nomatriknomatriknomatriknomatrik=‘A12369’=‘A12369’=‘A12369’=‘A12369’

Action: select row from table pelajar where nomatrikas specified and delete the row

6

SQL KEYWORDS USAGE

UPDATE UPDATE UPDATE UPDATE pelajarpelajarpelajarpelajar

SET SET SET SET namanamanamanama = ‘= ‘= ‘= ‘HishamHishamHishamHisham’’’’

WHERE WHERE WHERE WHERE namanamanamanama = ‘= ‘= ‘= ‘HashimHashimHashimHashim’ AND ’ AND ’ AND ’ AND nomatriknomatriknomatriknomatrik = = = =

‘A12365’‘A12365’‘A12365’‘A12365’

Action: update specified row to table pelajar

idididid namenamenamename sexsexsexsex countrycountrycountrycountry

1 fabregas M Spain

2 kournikova F Russia

3 zidane M France

4 totti M Italy

5 clijster F Belgium

6 messi M Paraguay

7 sharapova F Russia

athletes

MYSQL

� MySQL - "My Structured Query Language“

�Created by Michael Widenius from TcX (Sweden) in

1994

�Open-source, relational database management

system

�MySQL is used in web applications and acts as the

database component of the WAMP/LAMP

�Used in free software projects (e.g. WordPress,

Joomla)

7

MYSQL AND WAMP/LAMP

� Download at www.mysql.com

MYSQL INTERFACES

� Many different interfaces to manage and

browse database easily

� phpMyAdmin

� heidiSQL

�MySQL-Front

� SQLyog

PHPMYADMIN

8

CREATING DATABASE

CREATE DATABASE databasename

CREATING TABLES

� Some of MySQL data types:

TypeTypeTypeType DescriptionDescriptionDescriptionDescription

CHAR [length] Fixed-length, 0 to 255 characters

long

VARCHAR

[length]

Variable-length, 0 to 255 characters

long

TEXT String, maximum 65,535 characters

INT [length] -2.147 millions to 2,147 millions

DATE YYYY-MM-DD format

TIME HH:MM:SS

CREATING TABLES

1. Choose a suitable name and create table

2. Identify columns names

3. Identify data types

4. Identify suitable MySQL data type

5. Identify suitable length

9

CREATING TABLES

� Creating table for a guestbook application

CREATING TABLES

� Identifying column general data type

Column nameColumn nameColumn nameColumn name TypeTypeTypeType

ID Number

NAMA Text

EMAIL Text

TARIKH Date/time

KOMEN Text

TABLE: GUESTBOOK

Column Column Column Column

namenamenamename

TypeTypeTypeType MySQLMySQLMySQLMySQL data typedata typedata typedata type

ID Number INT

NAMA Text VARCHAR [40]

EMAIL Text VARCHAR [40]

TARIKH Date/time DATETIME

KOMEN Text TEXT

10

GUESTBOOK

IDIDIDID NAMANAMANAMANAMA EMAILEMAILEMAILEMAIL TARIKHTARIKHTARIKHTARIKH KOMENKOMENKOMENKOMEN

1 Simon simon@yahoo.

com

2010-09-

21

07:40:48

Excellent website!

Well done!

2 Azizi azizi@hotmail.

com

2010-09-

23

10:20:48

Sila lawati laman

web saya:

azizi.com.my

3 Wei

Yoong

[email protected].

uk

2010-09-

23

10:45:12

Still waiting for the

updates :D

SORT DATASORT DATASORT DATASORT DATA

DELETE DATADELETE DATADELETE DATADELETE DATA

CREATE CREATE CREATE CREATE

CONNECTIONCONNECTIONCONNECTIONCONNECTION

CLOSE CLOSE CLOSE CLOSE

CONNECTIONCONNECTIONCONNECTIONCONNECTION

INSERT DATAINSERT DATAINSERT DATAINSERT DATA

SELECT DATASELECT DATASELECT DATASELECT DATA

UPDATE DATAUPDATE DATAUPDATE DATAUPDATE DATA

11

PHP CREATING & CLOSING CONNECTION

� Use mysql_connect() and mysql_close()

$con = mysql_connectmysql_connectmysql_connectmysql_connect (servername, username,

password);

if (!$con) {

die('Could not connect: ' . mysql_error());

}

mysql_closemysql_closemysql_closemysql_close($con);

PHP SELECTING DATABASE

� Use mysql_select_db()

$con = mysql_connect (servername, username,

password);

mysql_select_dbmysql_select_dbmysql_select_dbmysql_select_db (databasename, $con);

PHP DISPLAYING DATA

� Use mysql_query() to run SQL

� The return result are usually in array form

$result = mysql_querymysql_querymysql_querymysql_query ("SELECT * FROM guestbook");

while($row = mysql_fetch_array ($result)) {

echo $row[‘NAMA'] . " " . $row[‘EMAIL'] . ” ” .

row[‘TARIKH'] . " " . $row[‘KOMEN'];

}

12

PHP INSERTING DATA

//run query

mysql_querymysql_querymysql_querymysql_query("INSERT INTO guestbook (ID,

NAMA, EMAIL, TARIKH, KOMEN) VALUES (5,

‘Jason', ‘[email protected]‘, NOW(), ‘Website

yang bagus!’)");…

� Use mysql_query()

PHP INSERTING DATA

//Create query

$qry = "INSERT INTO guestbook (ID, NAMA, EMAIL,

TARIKH, KOMEN)

VALUES (5, ‘Jason', ‘[email protected]‘, NOW(),

‘Website yang bagus!’)”;

//Run query

mysql_query($qry);

PHP INSERTING DATA FROM FORM

HTML

FORM PHP

13

PHP INSERTING DATA FROM FORM

PHP INSERTING DATA FROM FORM

$sql="INSERT INTO guestbook (NAMA,

EMAIL, TARIKH, KOMEN)

VALUES ('$_POST[nama]',

'$_POST[email]‘, '$_POST[tarikh]‘,

'$_POST[komen]')";

PHP DISPLAYING DATA IN TABLE

echo "<table>";

while($row = mysql_fetch_array($result)) {

echo "<tr>";

echo "<td>" . $row[‘NAMA'] . "</td>";

echo "<td>" . $row[‘EMAIL'] . "</td>";

echo "<td>" . $row[‘TARIKH'] . "</td>";

echo "<td>" . $row[‘KOMEN'] . "</td>";

echo "</tr>";

}

echo "</table>";

14

PHP UPDATING DATA

� Use UPDATE /SET /WHERE to update data

mysql_query (“UPDATE guestbook SET EMAIL =

[email protected]’ WHERE NAMA =

‘Simon‘ ");

}

PHP DELETING DATA

� Use DELETE FROM /WHERE to delete data

from database

mysql_query (“DELETE FROM guestbook WHERE

Nama = ‘Simon‘ ");

UPDATE/DELETE IN FORM

� Modify display table form to incorporate

update/delete functions

//make a link at the end of each table row for UPDATE and DELETE

echo “<td>”;

echo "<a href='delete.php?cmd=delete&id=$id‘>Delete</a>";

echo “</td><td>”;

echo "<a href=‘update.php?&id=$id‘>Delete</a>";

echo "<br>";

if($_GET["cmd"]=="delete") {

}

15

UPDATE PROCESS

Select data by key using SQL SELECT

Show data in form

Use SQL UPDATE to update data

THANK YOU

THANK YOU