Document Sample
databases-putting-things-together Powered By Docstoc
					HTML, PHP, and MySQL:
 Putting It All Together
                Making a Form

Input tags
<input type=“text” />

                      Making a Form
Put multiple “inputs” inside <form> </form> tags.
Make the last one a “submit” button.
<dt>Text: </dt>
<dl><input type="text" /></dl>
<dt>Buttons: </dt>
<dd><input type="radio" value="Option 1" />Option 1
<input type="radio" value="Option 2" />Option 2</dd>
<dt>Checkboxes: </dt>
<dd><input type="checkbox" value="Option 1" />Option 1
<input type="checkbox" value="Option 2" />Option 2</dd>
<dt>Submit button: </dt>
<dd><input type="submit" value="submit" /></dd>
              Making the Form Useful
Add attributes to the form tag:
<form action=“sendToDatabase.php” method=“post”>
Add attributes to the input tags:
<input type=“text” name=“email” />

We will need to make a PHP file.
              How a WAMP server gets PHP code to a client browser
                  (Windows Apache MySQL PHP Web Server)

           WAMP Server

                a.php                  Request a.php         Client Browser
Database        <?
                Echo “Hello”;
                ?>                                           Rendered PHP
                                                             In HTML format

                PHP Interpreter                              <html>
                                      Send back a.html       </body>
                Rendered PHP                                 </html>
                In HTML format
     What our PHP file needs to do
•   Connect to our database
•   Get that data from the form
•   “Escape” the data so it’s safe
•   Send the data to the database
                Beginning the PHP file

mysql_connect(“localhost”, “root”, “psswd”);

        Server Address   Username       Password
  Getting the data from the form

Recall the attributes we added to the form and the inputs:
<form action=“sendToDatabase.php” method=“post”>
<input type=“text” name=“email” />

$person = $_POST[`person`];
$email = $_POST[`email`];
      Sending data to the database
mysql_query(“INSERT INTO `mydatabase`.`table1` (`ID`, `Name`, `Email`) VALUES
(NULL, $name, $email)”);

Queries can perform many different functions, including adding to the database,
reading from the database, or ...
                 Close the Connection

That’s all there is to it!

After inserting the data into the database, put in the code for the page the
user should see after sending information to the database, or use the
header function to navigate to a different page.

header(“Location: index.html”);
                  A Complete PHP File

mysql_connect(“localhost”, “root”, “psswd”);

$person = $_POST[`person`];
$email = $_POST[`email`];

mysql_query(“INSERT INTO `mydatabase`.`table1` (`ID`, `Name`, `Email`) VALUES
(NULL, ‘$name’, ‘$email’)”);


header(“Location: index.html”);

                                PHP Arrays
A PHP array can store pairs of pieces of information (usually numbers or strings). In
each pair, one piece of information is called the “key,” and the other is called the

You can create a PHP array like this:

$myarray = array( ‘breakfast’ => ‘eggs’, ‘lunch’ => ‘sandwich’, ‘dinner’ => ‘steak’);

To retrieve one of the values, use square brackets and the correct key:

$food = $myarray*‘breakfast’+”;

echo “$food”;
                              PHP Arrays
We used arrays earlier when using the POST method.

$person = $_POST[`person`];
$email = $_POST[`email`];

PHP automatically created an array called $_POST with the information
provided by the user. The ‘name’ attributes from the input tags became the
keys of this array.
                               PHP Arrays
To insert information into an array after it’s been created:

$myarray*‘snack’+ = ‘chips’;

If you leave the key field blank, the keys will be integers, auto-incrementing
from 0.

$myarray*+ = ‘Dwayne Wade’;
$myarray*+ = ‘Lebron James’;
$myarray*+ = ‘Chris Bosh’;

                                  PHP Arrays
You can also omit keys when creating the array…

$myarray = array(‘knicks’, ‘heat’, ‘bulls’, ‘cavs’);


or start with an empty array…

$myarray = array()
                         PHP For Loops
For loops let you run the same lines of code over and over again.



$num = 2;

for($i = 0; $i < 10; $i ++){

$num = $num + 3;


echo ‘$num’;

                           PHP For Loops
There are three parts to the definition of a for loop in PHP:

1) Create a variable and give it a starting value.
    - Usually the variable will start at 0

2) Set a condition for the variable.
    - i.e. $i < 10, or $i <= 10
    - The for loop will not run unless the condition is true.

3) Specify how to change the variable after each iteration.
    - $i++ is shorthand for making $i go up by 1.
    - It’s the same thing as $i = $i + 1

     for($i = 0; $i < 10; $i ++)
                   Getting Information
                   From the Database
Use the mysql_query() function again.

$rs = mysql_query(“SELECT * FROM `mydatabase`.`mytable`”);

Now $rs is a MySQL resource. It contains all the information we quested in our
select query, but in order to use it, we need to convert it into PHP arrays.

The mysql_fetch_array() function converts the first row of the resource into an

$row1 = mysql_fetch_array($rs);

The next time mysql_fetch_array() is called on $rs, it will return the second row.

$row2 = mysql_fetch_array($rs);
The keys of the array created by myql_fetch_arrray() can be either the column titles
or the column indices (zero-indexed).
         ID                               Name
         1                                Lebron James
         2                                Dwayne Wade

  $row1 = mysql_fetch_array($rs);
  $row2 = mysql_fetch_array($rs);

  $row1*“Name”+                        “Lebron James”

  $row2*“Name”+                         “Dwayne Wade”
                         Use a Loop…
     ID                          Name
     1                           Lebron James
     2                           Dwayne Wade

for($k = 0; $k < 2; $k++){

$row = mysql_fetch_array($rs);

$name = $row*“Name”+;

echo ‘$name’;

The mysql_num_rows() function tells you how many rows are in your MySQL

$num = mysql_num_rows($rs);

This can be especially useful when used to create a for loop:

for($i = 0; $i < $num; $i++){

$row = mysql_fetch_array($rs);

$name = $row*“Name”+;

echo ‘$name’;

                     A Complete PHP File

$resource = mysql_query(“SELECT * FROM `mydatabase`.`mytable`”);

$n = mysql_num_rows($resource);

for($i = 0; $i < $n; $i++){

$row = mysql_fetch_array($rs);
$name = $row*“Name”+

echo ‘$name’;


      A Couple More Things to Know
How to escape your inputs:

$email = mysql_real_escape_string($_POST[`email`]);

The difference between POST and GET:

GET encodes information in the URL. POST encodes information where it can’t be
seen by the user. Don’t use GET if it would be a problem if the user submitted the
information twice!
                Useful Links
PHP Arrays:

PHP For Loops:

List of PHP MySQL-related functions:

Shared By: