In the previous 
					page, you created a flash animation that accessed a 
					PHP file that retrieved data from a MySQL database. In this 
					page, I will explain the code that helps connect all three 
					separate sections into a final product.
					Let's start with the MySQL code first:
					
						- CREATE
						TABLE `sites`
						( 
- `id`
						int(11)
						NOT 
						NULL auto_increment,
						
- `link`
						varchar(100)
						NOT 
						NULL default
						'', 
- `title`
						varchar(100)
						NOT 
						NULL default
						'', 
- PRIMARY
						KEY (`id`)
						
- ) 
						TYPE=MyISAM
						AUTO_INCREMENT=19 
						; 
- INSERT
						INTO `sites`
						VALUES 
						(5,
						'www.kirupa.com',
						'Kirupa');
						
- INSERT
						INTO `sites`
						VALUES 
						(4,
						'www.voetsjoeba.com',
						'Voetsjoeba');
						
- INSERT
						INTO `sites`
						VALUES 
						(3,
						'www.cannedlaughter.net',
						'Canned Laughter');
						
- INSERT
						INTO `sites`
						VALUES 
						(6,
						'www.spoono.com',
						'Spoono');
						
- INSERT
						INTO `sites`
						VALUES 
						(7,
						'www.readymademag.com',
						'ReadyMadeMag');
						
- INSERT
						INTO `sites`
						VALUES 
						(9,
						'www.weebl.jolt.co.uk',
						'Weebl and Bob');
						
- INSERT
						INTO `sites`
						VALUES 
						(10,
						'www.aamukaste.org');
						
- INSERT
						INTO `sites`
						VALUES 
						(12,
						'www.flipflopflyin.com',
						'Flip Flop Flyin''');
						
- INSERT
						INTO `sites`
						VALUES 
						(15,
						'www.kirupaforum.com',
						'KirupaForum');
						
- INSERT
						INTO `sites`
						VALUES 
						(16,
						'www.razyr.com/blog',
						'Razyr');
						
- INSERT
						INTO `sites`
						VALUES 
						(17,
						'senocular.com',
						'Senocular');
						
- INSERT
						INTO `sites`
						VALUES 
						(18,
						'www.may1reboot.com',
						'May 1st Reboot');
						
The code above is pretty much the straightforward format for 
					adding values to a MySQL database. You first create the 
					table, called sites, that will hold the various data 
					"cells". If you want to see the above data in a more 
					familiar, table-like format, it would look like this:
					
						
							
								| sites | 
							
								| id | link | title | 
							
								| 5 | www.kirupa.com | Kirupa | 
							
								| 4 | www.voetsjoeba.com | Voetsjoeba | 
							
								| 3 | www.cannedlaughter.net | Canned Laughter | 
							
								| 6 | www.spoono.com | Spoono | 
							
								| 7 | www.readymademag.com | ReadyMadeMag | 
							
								| 9 | www.weebl.jolt.co.uk | Weebl and Bob | 
						
					 
					The above MySQL data is directly accessed by the PHP 
					file. Let's take a look at the code in the PHP file:
					
						- mysql_pconnect
						("HOST 
						OF YOUR SQL SERVER", "YOUR 
						SQL USERNAME", "YOUR 
						PASSWORD"); 
-   
- mysql_select_db
						("THE 
						DATABASE YOU WANT TO USE");
						
Before gaining access to a MySQL database, you first need 
					to create a connection to the database. For security 
					reasons, you are required to input the hostname of your SQL 
					server (usually 'localhost'), your username, and your 
					password. Since you may have multiple databases, you use 
					mysql_select_db to tell PHP the name of the database you are 
					planning on using.
					
						- $qResult
						= 
						mysql_query ("SELECT 
						* FROM sites ORDER BY id ASC");
						
- $nRows
						= 
						mysql_num_rows($qResult);
						
- $rString
						="&n=".$nRows;
						
- for
						($i=0;
						$i<
						$nRows;
						$i++){
						
							- $row
							= 
							mysql_fetch_array($qResult);
							
- $rString .="&id".$i."=".$row['id']."&"."&title".$i."=".$row['title']."&".
 "&link".$i."=http://".$row['link']."&";
- } 
- echo
						$rString."&";
						
The code above looks confusing, but it's really simple. 
					What I am trying to do, is extract the data from our MySQL 
					table and display it for Flash to be able to read it.
					I first use mysql_query to send a, well, query to the 
					database we currently have a connection open to. If you are 
					familiar with Flash, this is similar to instantiating an 
					object prior to using it in Flash.
					In order to retrieve the data from the table, an 
					efficient way would be to use a loop - a for loop in 
					our case. A for loop always requires a starting point, an 
					ending point, and an increment value that will take you from 
					your starting point to your ending point.
					Our starting point is zero, as specified by $i =0. Our 
					ending point should be the number of rows of data that are 
					in our MySQL table. In order to retrieve the row 
					information, you can use the mysql_num_rows(data) 
					function that returns a number based on the 'data' passed to 
					it:
					
						- $nRows
						= 
						mysql_num_rows($qResult);
						
We simply pass in the value from our mysql_query as our 
					data for mysql_num_rows in order to determine the number of 
					rows of data we need to loop through:
					Getting back to our loop, we now have our starting point, 
					our ending point ($nRows), and the increment value:
					
					$i++. 
					Now that our loop structure is done, we can simply retrieve 
					the data from our database:
					
						- for
						($i=0;
						$i<
						
						$nRows; 
						$i++){
						
							- $row
							= 
							mysql_fetch_array($qResult);
							
- $rString .="&id".$i."=".$row['id']."&"."&title".$i."=".$row['title']."&".
 "&link".$i."=http://".$row['link']."&";
- }
						
- echo
						$rString."&";
						
The above code is analogous to accessing data from an 
					array. The value if $i increments from 0 to the number of 
					rows, and that number acts as an index position value that 
					concatenates (adds to) $rString 
					with the id, title, and link from our database. 
					All of the above code returns a long string of data 
					stored in the $rString variable. Flash will see the data 
					from the $rString variable because that is all that is 
					output by the browser. Speaking of which, let's talk about 
					the last piece of the puzzle, the Flash code:
					
						- function
						lv(l,
						n, t,
						e, f)
						{ 
							- if
							(l
							==
							undefined)
							{ 
								- l
								=
								new
								LoadVars();
								
- l.onLoad
								=
								function()
								{ 
									- var
									i; 
- n.htmlText
									=
									""; 
- if
									(t
									==
									undefined)
									{ 
										- n.htmlText
										+=
										"<b>"+this["title"+e]+"</b><br>";
										
- }
									else
									{ 
										- for
										(i=0;
										i<this.n;
										i++)
										{ 
											- n.htmlText
											+=
											"<a href='"+this["link"+i]+"'>
 "+this["title"+i]+"</a><br>";
- } 
- } 
- }; 
- } 
- l.load(f);
							
- } 
- lv(sites_txt,
						"cycle",
						null, 
						"sites.php"); 
The above code is very self-explanatory. The main 
					noteworthy aspect you should get out of the above code is 
					that I am taking all of the data and placing it in the text 
					field I created in the previous page. Since I enabled HTML 
					for the text field, I can use HTML formatting to give the 
					text a URL value and make it, essentially, a hyperlink.
					The loop structure is very similar to the loop structure 
					I explained in the PHP code. The section on loadVars is 
					addressed by Kirupa's tutorial on that very topic:
					
					Displaying Data from an External File.
					You are now finished! I have provided the source file for 
					the Flash and PHP portions of this tutorial
					
					So, hopefully you have learnt a little something about 
					Flash and PHP and its possibilities, so go forth and make 
					something wonderful!
					If you have any questions, feel free to contact me or 
					post on the forums!
					
						
							|  | Ben Smith a.k.a Ωmega |