Introduction to PHP & MySQL
A 4 days Course
Presented by
Course Outline
Introduction to HTML
Introduction to PHP
PHP - The Language
Using Variables
Giving Your Code Life – Flow Control
Using Functions
Creating Custom Functions
Making Things Constant
Variable Scope – Now You See Me, Now You Don‟t!
Introduction to Database & MySQL
Using MySQL from PHP
Day 1
Introduction to HTML
Introduction to PHP
What is HTML?
Hyper-Text Markup
Language
–
Language for creating web
pages
–
Defines format & layout of a
document
–
Documents are Portable
–Link multiple documents
–Local and remote
documents
–
A simple text file
HTML Markup Tags
Single Tags
–
No Content or Child Tags
Syntax:
<tagname/> or <tagname>
Example:
HTML Markup Tags,
cont’d
Start and End Tags
–
Contains Content or Child Tags
Syntax:
<tagname>Some Content</tagname>
Example:
<p>The quick brown fox jumps over the lazy
HTML Comments
Comments are not rendered (displayed)
Syntax:
<!-- comment text -->
Example:
<!--
This is a HTML comment
-->
HTML Document Structure
Document Type
Declaration
HTML Container
–
HTML Header
–
HTML Body
DOCTYPE
HTML Document Structure
Common DOCTYPEs:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
HTML Container Tags
HTML Document Structure
Start Tag
End Tag
Description
<html>
</html>
HTML Container
<head>
</head>
HTML Header Section
<body>
</body>
HTML Body Section
HTML Layout Tags
Start Tag
End Tag
Description
<p>
</p>
Paragraph Text
<br/>
-
Insert Line Break
HTML Text Formatting Tags
Start Tag
End Tag
Description
<b>
</b>
Bold Text
<strong>
</strong>
Bold Text
<i>
</i>
Italic Text
<u>
</u>
Underline Text
<hr/>
-
Horizontal Line
<hn>
</hn>
Text Headers [ n = 1 – 6 ]
HTML List Tags
Start Tag
End Tag
Description
<ol>
</ol>
Ordered List
<ul>
</ul>
Unordered List
Ordered List Tag
Syntax:
<ol type=“[ 1 | I | i | A | a ]”>
[ list items ]</ol>
Example:
<ol>
<li>Item 1</li>
<li>Item 2</li>
Unordered List Tag
Syntax:
<UL type=“[ DISC | CIRCLE | SQUARE ]”>
[ list items ]</UL>
Example:
<UL>
<li>Item 1</li>
<li>Item 2</li>
HTML Table
Start Tag
End Tag
Description
<table>
</table>
Table Container
<tr>
</tr>
Table Row
HTML Table Example
<table
border=“0” cellpadding=“2” cellspacing=“2” width=“600”>
<tr>
<td
width=“200”>Row 1, Column 1</td>
<td
width=“400”>Row 1, Column 2</td>
</tr>
<tr>
<td align=“left” valign=“center”>Row 2, Column 1</td>
<td>Row 2, Column 2</td>
</tr>
HTML Tags
HTML Links
Start Tag
End Tag
Description
<a href=“[url]”>
</a>
Anchor link to a URL.
<a href=“#myId”>
</a>
Anchor link to an Target ID.
<a id=“myId”>
</a>
Target ID to link to.
HTML Forms
Start Tag
End Tag
Description
<form>
</form>
Form Container
<input />
-
Input Fields
<select>
</select>
Select Box Container
<option>
</option>
Select Box Options
<textarea>
</textarea>
Text Box
Form Tag
Syntax:
<FORM action=“<url>” method=“[ GET | POST ]”>
Example:
<FORM action=“register.php” method=“post”>
. . .
. . .
Input Tag
Attributes
–
type
TEXT | CHECKBOX | RADIO | PASSWORD | HIDDEN |
SUBMIT | RESET | BUTTON
–
name
–
value
–
size
–
maxlength
Input Tag,
cont’d
Example:
<INPUT type=“text” name=“fullname” size=“50”/>
<INPUT type=“password” name=“pass” size=“50”/>
<INPUT type=“radio” name=“sex” value=“m”/> Male
<INPUT type=“radio” name=“sex” size=“f”/> Female
<INPUT type=“checkbox” name=“class” size=“php_b”/>
<INPUT type=“checkbox” name=“class” size=“php_i”/>
<INPUT type=“checkbox” name=“active” size=“1”/> Yes
<INPUT type=“submit” name=“cmdSave” value=“Save”/>
Select Tag
Attributes
–
name
–
size
Option Tag
Used within SELECT tags.
Defines SELECT Items.
Attributes
–
value
–
selected
SELECT … OPTION
Example:
<SELECT name=“addr_state” size=“1”>
<OPTION value=“sel” selected>Selangor</OPTION>
<OPTION value=“joh”>Johor</OPTION>
<OPTION value=“ked”>Kedah</OPTION>
</SELECT>
SELECT … OPTION (multiple)
Example:
<SELECT name=“avail_state” size=“10” multiple>
<OPTION value=“sel” selected>Selangor</OPTION>
<OPTION value=“joh”>Johor</OPTION>
<OPTION value=“ked” selected>Kedah</OPTION>
</SELECT>
TextArea Tag
Attributes
–
rows
–
cols
–
wrap: [ soft | hard | off ]
CDATA
TextArea Tag,
cont’d
Example:
<TEXTAREA name=“notes” rows=“10” cols=“40”>
Text displayed in TextArea form field.
It supports multiple text lines.
</TEXTAREA>
What is PHP
Scripting Language
Server-side Scripting
Embedded Scripts
Based on C, C++, and Perl
Create web pages dynamically
Multi-platform (*nix, Windows)
Supports Apache and IIS web server
Server-side vs Client-side
Server-side
–Pro
More secure
Client independent
Light-weight Client
Easier deployment
–Con
Powerful hardware
High server resource
High Network resource
Client-side
–
Pro
Better response
Richer user interface
No or lighter server
requirements
–Con
Less secure
Client dependent
Challenging
Deployment
PHP Basic Construct
<html>
<body>
<h1>HTML Title</h1>
<?php
echo “Hello from PHP”;
?>
</body>
</html>
HTML Section
PHP Section
HTML Section
Language Syntax
Start PHP Section
–
<?php or <?
End PHP Section
–
?>
PHP Statement
–
A_php_statement;
PHP Comments
Not executed
Source-code documentation
Disable parts of codes
C-style Comments
–
// Single line comment
–
/* Multi-line comment */
Perl-style Comments (not recommended)
Day 2
Using Variables
Data Types
Data Type
Description
String
“text”, „text‟
Integer
-2, -1, 0, 1, 2
Float
0.4, 1.234
Boolean
True, false, 0, <none zero>
Array
Variables
Syntax
–
$my_variable_1
–
$_my_variable
Case sensitive
Container to hold a value or values
Values can be changed
Variable name starts with an alphabet or underscore
Variable name consist of alphabets, underscores,
Giving Variables a Value
Examples
–
$my_string = “My String”;
–
$my_numbers = 123;
Arrays
Stores multiple values in a single variable
Stored values can be of different types
Index-based Array
Numeric indexes
Examples
–
$index_array[0] = “Item 1”;
–
$index_array[1] = “Item 2”;
–
$index_array[2] = “Item 3”;
Associate Array
Keys instead of numeric indexes
Examples
–
$kb_array[“one”] = “Item 1”;
–
$kb_array[“two”] = “Item 2”;
Constants
Value is fixed once created
Example – Creating constants
–
define(“MYCONST”, 23);
–
define(“MYCONSTSTR”, “My String”);
Example – Using constants
Operators
Operator Description
+
Addition
++
Increment
-
Subtraction
--
Decrement
*
Multiply
/
Division
%
Modulo
.
Concatenate (string)
Operator Description
=
Assignment
==
Equality
===
Exact Equality
!
Not
&&
Logical AND
||
Logical OR
>, >=
Greater (or Equal)
<, <=
Less (or Equal)
Form Variables
$_GET[<field_name>]
$_POST[<field_name>]
Flow Control
Conditional Statements
Loops
IF Statement
Syntax:
if ( <condition> ) {
[ block to be executed if <condition> is true ]
}
IF … ELSE
Syntax:
if ( <condition> ) {
[ block to be executed if <condition> is true ]
}
else {
[ block to be executed if <condition> is false ]
}
IF … ELSE IF
Syntax:
if ( <condition1> ) {
[ block to be executed if <condition1> is true ]
}
else if ( <condition2> ) {
[ block to be executed if <condition2> is true ]
}
Nested IF
Syntax:
if ( <condition1> ) {
[ block to be executed if <condition1> is true ]
if ( <condition2> ) {
[ block to be executed if
<condition2> is true ]
}
[ continue ]
}
Example of IF Statements
if( $_POST[„location‟] == „sel‟ ) {
print “Selangor”;
}
if( $_POST[„age‟] <=18 ) {
print “You must be above 18”;
}
else {
print “You may proceed”;
}
Loops
WHILE loop
FOR loop
WHILE Loop
Syntax:
while ( <condition> ) {
[ block to be executed
while <condition> is true ]
}
WHILE Loop Example
Example:
$i = 0;
while( $i < sizeof( $profile ) ) {
print “Item $i: “
. $profile[ $i ]
. „<br />‟;
$i++;
}
FOR Loop
Syntax:
for ( <init>; <condition>; <iterator> ) {
[ block to be executed
while <condition> is true ]
}
FOR Loop Example
Example:
for ( $i = 0; $i < sizeof( $profile ); $i++ ) {
print “Item $i: “
. $profile[ $i ]
. „<br />‟;
FOREACH Loop
Syntax 1:
foreach ( <array> as <var_value> ) {
[ block to be executed for each item in array ]
}
Syntax 2:
foreach ( <array> as <var_key> => <var_value> ) {
[ block to be executed for each item in array ]
}
FOREACH Loop Example
Example 1:
foreach ( $profile as $item ) {
print “Item: “
. $item
. „<br />‟;
}
Example 2:
foreach ( $profile as $key => $item ) {
print “Item “ . $key . “: “
. $item
. „<br />‟;
}
Day 3
Using Functions
Creating Custom Functions
Making Things Constant
Variable Scope – Now You See Me, Now
Using Functions
Syntax:
function_name([<param>])
Example:
echo date();
echo date( ‘d-m-Y’ );
$a = sprintf( ‘hello’ );
User-defined functions
Syntax:
function function_name() {
}
function function_name($param1, $param2=2) {
return $rv;
}
Variable Scope
Global Scope
–
Accessible throughout script
Local Scope
–
Accessible within a function
GLOBAL keyword
Global keyword
Example:
$cfgHost = „localhost‟;
function getHostName() {
global $cfgHost;
$label = „The hostname is: „; // local scope.
echo $label . $cfgHost;
Inserting External Files
include([<path>]<filename>);
include_once([<path>]<filename>);
require([<path>]<filename>);
Day 4
Introduction to Database & MySQL
Using MySQL from PHP
Database
A structured collection
of data
Contains 1 or more
Tables
db1 db1.table_1 db1.table_2 db1.table_3 db1.table_4Table
Tables contain records