Adding Data - Page 9
December 29, 2000
Here's a SQL script to populate our mall table with its data.
INSERT INTO mall VALUES (1,'G','G1','Fast Snax',
'555-7089','150,0,150,100,200,100,200,0','175,50',
'food,sweets,soda,drinks,chips,cola,pies,fast food,candy');
INSERT INTO mall VALUES (2,'G','G2','ACME Newsagent',
'555-6843','300,0,300,100,350,100,350,0','325,50',
'newspapers,magazines,paper,stationary,
newsagents,periodicals');
INSERT INTO mall VALUES (3,'G','G3','Fashion Warehouse',
'555-7521','350,0,350,100,400,150,500,150,500,0','425,65',
'clothes,clothing,shoes,pants,suits,dresses');
INSERT INTO mall VALUES (4,'G','G4','CD; R Us',
'555-0459','400,150,400,250,500,250,500,150','450,200',
'cds,dvds,music,tapes,videos,rock,pop');
INSERT INTO mall VALUES (5,'G','G5','Garden Bounty Florists',
'555-9561','400,250,400,350,500,350,500,250','450,300',
'gardening,flowers,florists,arrangements,floral');
INSERT INTO mall VALUES (6,'G','G6','National Bank',
'555-3675','400,350,350,400,350,
500,500,500,500,350','425,440',
'money,banks,banking,cheques,deposit,withdrawal,cash,atm');
INSERT INTO mall VALUES (7,'G','G7','Sweetime',
'555-7659','300,400,300,500,350,500,350,400','325,450',
'candy,sweets,candy floss,cola,sodas,drinks,chips,crisps');
INSERT INTO mall VALUES (8,'G','G8','The Classics',
'555-4395','150,400,150,500,200,500,200,400','175,450',
'cds,dvds,music,jazz,classics');
INSERT INTO mall VALUES (9,'G','G9','The Computer Matrix',
'555-7001','100,350,150,400,150,500,0,500,0,350','65,435',
'pc,computers,components,software,hardware,books,cds');
INSERT INTO mall VALUES (10,'G','G10','Bibliophile',
'555-3752','100,250,100,350,0,350,0,250','50,300',
'books,magazines,periodicals,reading');
INSERT INTO mall VALUES (11,'G','G11','Well Heeled',
'555-2564','0,150,100,150,100,250,0,250','50,200',
'shoes,trainers,boots,heels');
INSERT INTO mall VALUES (12,'G','G12','The Great Outdoors',
'555-7269','0,0,0,150,100,150,150,100,150,0','65,70',
'hiking,camping,rafting');
[Lines 6 and 7 above are one line as are lines 18 and 19.
They were split for formatting purposes.]
We can save it as map_data.sql and import it into
our mapping database:
> mysql -u phpuser -pphppass mapping < map_data.sql
Testing our data
The coordinates for the outline of the shops are now all stored
in our database. In order to test that everything is working
correctly we are going to write a script to create an image of
our mall.
Try It Out - Drawing The Mall
<?php
//drawmall.php
include "./common_db.inc";
Header("Content-type: image/png");
$image = ImageCreate(501,501);
$white = ImageColorAllocate($image,255,255,255);
$black = ImageColorAllocate($image,0,0,0);
$link_id = db_connect('mapping');
$query = "SELECT m_area FROM mall";
$mallResult = mysql_query($query,$link_id);
while ($mallRow = mysql_fetch_array($mallResult)) {
$area = explode(",", $mallRow[0]);
for ($i=0; $i < count($area)-2; $i=$i+2) {
ImageLine($image,$area[$i],$area[$i+1],
$area[$i+2],$area[$i+3],$black);
}
ImageLine($image,$area[count($area)-2],
$area[count($area)-1], $area[0], $area[1], $black);
}
for ($i=0; $i<count($area)-2; $i=$i+2) {
ImageLine($image,$area[$i], $area[$i+1],
$area[$i+2], $area[$i+3],
$black);
}
ImageLine($image, $area[count($area)-2],
$area[count($area)-1], $area[0], $area[1], $black);
ImagePNG($image);
ImageDestroy($image);
mysql_free_result($mallResult);
?>
[Lines 14 and 15 above are one line as are lines 21 and 22.
They were split for formatting purposes.]
When you run this script, you should see the image below:
Practical Application - Page 8
Beginning PHP4
How It Works - Page 10
|