views:

10780

answers:

6

I'm looking for advice on how to dynamically create content in flash based on a database. Initially I was thinking that we would export the database to an XML file and use the built in Actionscript XML parser to take care of that, however the size of the XML file may prove prohibitive.

I have read about using an intermediary step (PHP, ASP) to retrieve information and pass it back as something that Actionscript can read, but I would prefer not to do that if possible. Has anyone worked with the asSQL libraries before? Or is there something else that I am missing?

+4  A: 

If you plan to deploy your flash content to a website, you should use some sort of backend - otherwise you would have a potential security problem. I use remoting with AMFPHP, it has worked out really well.

Kristian J.
+1  A: 

Unless you're running your Actionscript on the server side (I doubt that), connecting to a database directly wouldn't be very smart at all. To connect to a database from client side Actionscript you'd have to open your server to accept database connections from everyone, and you'd have to store access data in your swf files and that would be a disastrous combination in case someone disassembles the swf files.

If the size of the XML is prohibitive, you can always split it somehow, or if it is impossible, you can get the data from the server through PHP or anything else running on the server, for example, you'd give the relevant parameters in the request to the PHP file and the server side script then queries the database, builds XML text (that is a subset of the complete data, based on the given parameters) that can be consumed by the Actionscript.

Nouveau
A: 

The general practice that I've experienced is that if it's something like a config file or just a really small amount of data then you could probably get away with just having an XML file on the server with your SWF files.

If you want the data to be more dynamic or you anticipate changing it quite often I would definitely do as Nouveau has already said and use PHP or a similiar technology to output database queries into an XML structure for your flash to load.

If there is a lot of data however and you are really noticing your program choking or lagging on loading up the XML in that format I would definitely recommend remoting like Kristian has suggested, AMFPHP seems to be one of the more popular choices.

Check out grapefrukt's answer to another question about flash and database interaction
http://stackoverflow.com/questions/38674/does-adobe-flash-support-databases#39266

vanhornRF
A: 

just in case someone doesn't know the guys at midnightcoders have also a robust way for remoting in flash

A: 

you can also use swx format wich is an interesting project to send/receive data using swf's wrapers, i personally prefer amfphp but i just commented here for reference purposes

A: 

Don't use client side Actionscript to connect directly to the database, unless you're comfortable with the idea of exposing your connection string to anyone.

Use some server side logic to connect to the database instead.

Juan Pablo Califano