Volledige versie bekijken : Is het bter werken met XML of MySQL database.
Erich Rebel
%Europe/Berlin %568 %2010, 14:38
Ls,
Ik ben nog steeds aan het werken aan een hele nieuwe website voor mijn foto's dat geheel uit flash bestaat.
In de huidige site (www.hierstaanfotos.nl) komt alle data (niet de foto's) uit een MySQL database.
Dit werkt prima.
Echter nu ik alles in Flash wil maken zit ik met een vraagje.
Alle tutorials die ik tegenkom maken gebruik van een XML bestand waarin de gegevens van de foto's staan.
Is dat dan ook beter of verstandiger om te doen.
Ik wil op de pagina Foto Shoots (flash.hierstaanfotos.nl (http://flash.hierstaanfotos.nl) momenteel de test omgeving) alle shoot hebben staan met een link (button) met de gegevens van de shoot en door te klikken de foto's laten zien die daarbij horen.
Ik dacht dit gewoon uit de MySQL database te lezen en dan de overzicht pagina te laten samenstellen en de buttons te maken (voor elke shoot een button vanuit AS3).
Maar omdat alle tuts met een XML weken begin ik te twijfelen.
Graag verneem ik van jullie wat beter is.......
XML of MySQL database blijven gebruiken.
Alvast bedankt.
Groeten.
Erich.
eriknoorland
%Europe/Berlin %604 %2010, 15:30
Er is niet iets beter, het is maar net wat jij prettiger vindt.
Ik zou zelf een voorkeur hebben voor AMF PHP, maar dan niet met een database werken maar een map uitlezen.
thedax
%Europe/Berlin %913 %2010, 22:55
XML geeft je een gigantisch tekst document bij veel foto's.
XML inladen is langzamer en vergt meer code.
MySQL geeft je meer beveiliging en overzicht.
Uiteindelijk wil je alleen de locaties van de foto's uitlezen.
Hieronder heb ik code geplaats waarin staat hoe je POST en GET in AS3 in samenwerking met AMF.
Cute code toch ?
/////////////////////////////////////////////////////////////////////////////////////
var gateway:String = "http://www.domein.nl/fotoalbum/gateway.php";
var connection:NetConnection = new NetConnection;
var responderPOST:Responder = new Responder(onSettingsSaved, onFault);
var responderGET:Responder = new Responder(onSettingsLoaded, onFault);
/////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////
// Save settings //
//////////////////////////////////////////
function saveSettings(){
connection.connect(gateway);
connection.objectEncoding = ObjectEncoding.AMF0;
connection.call("theSettings.postSettings", responderPOST,deNaam,deScore);
connection.close();
}
function onSettingsSaved(result:Object):void {
trace("settings saved");
}
//////////////////////////////////////////
// Laad instellingen //
//////////////////////////////////////////
function loadSettings(){
connection.connect(gateway);
connection.call("theSettings.getSetings", responderGET);
connection.close();
}
function onSettingsLoaded(result:Object):void {
for(var i:int=0; i<result.length; i++) {
/*
blabla=new TextField();
addChild(blabla);
blabla.text = result[i].score;
*/
}
}
function onFault(fault:Object):void {
trace(String(fault.description));
}
Hieronder staat dan de code voor de gateway.php
<?php
error_reporting(E_ALL|E_STRICT);
ini_set("display_errors", "on");
$includePaths = dirname(__FILE__) . '/frameworks' . PATH_SEPARATOR
. get_include_path();
set_include_path($includePaths);
require_once 'Zend/Amf/Server.php';
require_once 'theSettings.php';
$server = new Zend_Amf_Server();
$server->setClass('theSettings');
$response = $server->handle();
echo $response;
?>
Hieronder de code voor theSettings.php
<?php
class theSettings
{
public function __construct()
{
mysql_connect("localhost", "username", "password");
mysql_select_db("database_name");
}
public function getSettings()
{
$result = mysql_query("SELECT * FROM Settings ORDER BY id");
$t = array();
while($row = mysql_fetch_assoc($result))
{
array_push($t, $row);
}
return $t;
}
public function postSettings($deNaam,$deScore)
{
$Naam = ($deNaam);
$Score = ($deScore);
$result = mysql_query("INSERT INTO Settings (naam,score) VALUES ('{$Naam}','{$Score}')");
}
}
?>
Deze code heb ik ooit eens gebruikt om een scoreboard te maken. Misschien heb je er wat aan. Succes!!
Erich Rebel
%Europe/Berlin %926 %2010, 23:13
Bedankt.
Ik ga ermee aan de gang en kijken wat ik ermee kan doen.
Tukkers blijven klasse.
Erik Noorland natuurlijk ook bedankt voor je bijdrage.
Groeten.
Erich.
thedax
%Europe/Berlin %965 %2010, 00:10
:) haha mijn Nederlands is blijkbaar tot een dieptepunt gedaald :)
Erich Rebel
%Europe/Berlin %968 %2010, 00:15
:) haha mijn Nederlands is blijkbaar tot een dieptepunt gedaald :)
Niet dat ik weet :)
Maar bij je plaatsnaam staat Enschede en daar wonen toch tukkers.
thedax
%Europe/Berlin %586 %2010, 15:04
Oh op die fiets :D Ik dacht dat je het aan mijn manier van schrijven kon aflezen.
Erich Rebel
%Europe/Berlin %611 %2010, 15:41
Beetje offTopic.
Maar ik kom van oorsprong uit Enschede.
Dus vandaar.
Niks persoonlijks.
sidar
%Europe/Berlin %636 %2010, 16:16
XML inladen is langzamer en vergt meer code.
Vraag me af waar je dit op baseert?
Source?
Ik heb toch het idee dat het zoveel meer code niet echt is, je moet toch uiteindelijk je structuur " programmeren"? Ik kan begrijpen dat een lijst van tig regels in je xml wat langzamer zal worden, maar denk niet dat meneer hier last van zal hebben.
En hoezo is het veiliger? Want als ik via mijn CMS mijn xml uitdraai dan word er alleen nog ingelezen via flash en niet weggeschreven vanuit flash(zoals je met AMF doet).
Uiteindelijk moet hij het zelf weten, ik heb alleen het idee dat jij vanuit een te groot systeem denkt.
Ik zelf ben er van overtuigt dat ik liever Flash en mijn content systeem apart houd.
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.