| 
  Flash, 
					PHP, and MySQL Integration by Ben 
					Smith, a.k.a Ωmega: 12th May 2005
 This tutorial should teach you a little bit about 
					integration between Flash, PHP and MySQL. We will learn how 
					to parse text into a HTML-formatted textbox from an external 
					Actionscript file. It will use a PHP file to parse text from 
					a MySQL database into a kind of code which the AS will 
					decode.  As I can't use my own MySQL database here, I will provide 
					Images showing the examples and Flash screens. Please note 
					that to complete this tutorial, you need a PHP enabled 
					server, a MySQL database, and Flash MX (2004).
					
 [ an example 
					of what you will create, on my site, displaying external 
					links ] Let's Get 
					Started! The following steps will show you how to create a dynamic 
					Flash list.
 
						
						Create a New Document in Flash, press 
						Ctrl+J (Cmd+J on Mac) and set the stage size to 165px by 
						200px (You may change the dimensions to suit your needs, 
						but this is what I used). 
						Create a new layer called Sites and then 
						create a Dynamic Textbox on that layer using the Text 
						tool and name it sites_txt. Make sure that HTML 
						formatting is on! 
					 [ the 
					textbox's properties should look like this, HTML formatting 
					is the <> button ] 
						
						Now, we need to create the ActionScript 
						file, so create a new Actionscript File by clicking File 
						> New > Actionscript file.
						Now for the fun part, the coding! Insert 
						this into the Actionscript file and save it as 
						sites.as, the code will be explained later: 
						
							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");
							 
						
						As you can see, the Actionscript file 
						requires a .php file (sites.php) to work, so fire up 
						Dreamweaver/Notepad or any other text editor, and paste 
						in this code: 
						
							<?php
							mysql_pconnect
							("HOST 
							OF YOUR SQL SERVER", 
							"YOUR SQL USERNAME", 
							"YOUR PASSWORD");
							  mysql_select_db
							("THE 
							DATABASE YOU WANT TO USE");
							$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."&";
							  ?> 
						
						As you will see if you run this file, it 
						will not work as we need to make a table named sites 
						in our database, so if you want to, you can use this SQL 
						query code to create one, or create one of your own. 
						
							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');
							 
						
						Now you are all set up, so let's include 
						the AS file into our Flash document. Go back to your 
						Flash timeline, create an Actions Layer, and in the 
						first frame enter the following code: 
						
							#include
							"sites.as"; 
						Now you've got the basic MySQL > 
						PHP > Flash integration going, so, publish and upload 
						all your files to a server and test it. 
						
							|  | Note |  
							| 
								
									| If this tutorial 
									does not work, please check that you have a 
									server that is capable of PHP and MySQL, if 
									you do, feel free to contact me about it! |  |  While your 
					example should work well, I still haven't explained what all 
					of this code does! On the next page I will explain how and 
					why all of these sections of code work together to create a 
					working example! 
 
						
							|  | 
							page 1 
							of 2 |  |  
     |