Joe's used auto sales, an average sized car yard of around 150 cars has decided to make
the big leap into the new millennium. First of all they had to get themselves a nice new
computer, with that new computer came the "Internet". After a few weeks of searching the
internet they decided to go all out, now they wanted a web site of their own. And it
just so happens that Joe's good friend knows a little HTML, three days later
Joe's used auto sales was online and ready for business.
It wasn't long before they realized they were not going to get very far with that site.
They needed something where they could add, modify and delete listings in a database.
Well, to make a long story short they ended up contacting me. And of course I said I
could do it. So, that day I had to find out what type of database to use. After asking a
few questions I decided to create a database using
PHP
and
MySQL
I didn't know how to create an actual MySQL database, so I contacted support at my
hosting company, next thing I know I had a database called "joesauto" and a few basic
Telnet and MySQL commands.
Now I needed to open up telnet for the first time and enter my login name and password.
Before I could go any further I had to learn a little about
MySQL.
OK, now that we all know the basics, its time to connect to the server. If you have any
problems email support, they like answering these questions.
shell> mysql -h localhost -u joesauto -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 459 to server version: 3.22.20a-log
Type 'help' for help.
mysql>
After successfully connecting to the server we need to access the database (joesauto)
that I got support to create for me. If you don't have a database yet now is the time to
create one. To see what databases are on this server type show databases; if your database
is there select it by typing use joesauto if you can't access the database contact
support. This tutorial could take days if your support is slow.
mysql> use joesauto
Database changed
mysql>
OK, after alot of
reading
I figured out how to create a table for all the important data
(year, make, model, price and picture), the picture part took alot of time to figure
out, I found out that it was best to just store the picture filename in the database and
store the actual picture in a specified directory on my server. Below is what I used to
create the table. (I am sure there are other ways of creating this table but, this is
what worked for me.)
mysql> CREATE TABLE joesauto(
-> year INT(4),
-> make CHAR(20),
-> model CHAR(20),
-> price CHAR(15),
-> picture_name CHAR(25)
-> );
At this stage we don't need to worry about loading data into the table, we will do that
next using PHP and simple HTML forms. You can shut down Telnet now and open up your
favorite HTML editor, I would recommend
Homesite 4.0.
Now it was time for me to learn the
PHP basics,
which wasn't that difficult, then I
subscribed to the
PHP mailing list and took
a quick look through the
PHP manual. If you
can try to find somebody on ICQ that knows PHP, it sure does help having instant
support.
The idea here is to be able to insert all the data into the database via the internet
using forms, I have created forms several times before so that was no problem at all. I
am assuming that you have used forms before, if you have no idea how to create forms,
find a tutorial on the net and come back when your ready.
Create a page and call it add_data.php3, and then cut and paste the following.
<form enctype="multipart/form-data" method="post" action="<?php echo $PHP_SELF ?>">
year<br>
<input type="Text" name="year" size="25">
<br>
make<br>
<input type="Text" name="make" size="25">
<br>
model<br>
<input type="Text" name="model" size="25">
<br>
price<br>
<input type="Text" name="price" size="25">
<br>
picture<br>
<input type="File" name="picture" size="25">
<br><br>
<input type="submit" name="submit" value="Upload">
</form>
First of all we need to add a little PHP in the action attribute, this is used to
display all the data once the submit button is pressed.
action="<?php echo $PHP_SELF ?>"
The name attribute within the input element will be used to pass the information to PHP,
these names should be the same as the columns in the database.
Now its time to add the stuff that makes it all work. I can't really explain what we are
using below, so I suggest you go to the PHP website and study the main elements used
below, mysql_connect() and mysql_select_db(). It may be a good idea to go to the MySQL
site and learn how to insert, delete, modify and anything else you want to fill your
brain with.
<?php
if ($submit) {
$db = mysql_connect("$localhost","$joesauto","$password");
mysql_select_db("$joesauto",$db);
$sql = "INSERT INTO joesauto (year,make,model,price,picture_name) ".
"VALUES ('$year,$make,$model,$price,$picture_name')";
exec("cp $picture /full/path/to/joesauto/images/$picture_name");
echo "year: $year<br>\n";
echo "make: $make<br>\n";
echo "model: $model<br>\n";
echo "price: $price<br>\n";
echo "temp file: $picture<br>\n";
echo "file name: $picture_name<br>\n";
echo "file size: $picture_size<br>\n";
echo "file type: $picture_type<br>\n";
echo "<br>\n";
echo "<img src=images/$picture_name><br>\n";
}
?>
After you add the above code to the add_data.php3 page, (right below the closing form
tag would work great) you need to change a few things to work with your database. It
should all be pretty straight forward, you just need to change $your_username,
$your_password and you'll need to specify the full path to where your images directory
is. You also need to make sure that the image directory is CHMOD 777.
Now everything should be set and your ready to upload it to the server to see if
everything works. The next lesson in this tutorial will show you how to view the data,
and I will show you how to do more stuff in lessons to follow.
My name is William Samplonius and I am web designer for
e n d u r a d e z i n e. I hope this helped you, don't email me your questions
because I know just as much as you do.