Adobe Flex Insert met PhP en Json

Geplaatst op 28 feb 2008 in Tech | 0 reacties | 3033 Hits


 

Tja, data laten zien is natuurlijk heel erg leuk.

Maar data muteren of inserten is nog veel leuker.

Laten we eens beginnen met het Inserten van Data. Heel simpel, gewoon 1 naam toevoegen.

Moet geen probleem zijn toch ? En dat is het ook niet.

 

 

De code van al dit moois :

Flex:

{geshi lang=”xml” lines=”true”}<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” borderStyle=”none” backgroundGradientColors=”[#c0c0c0, #0000ff]” backgroundGradientAlphas=”[0.7, 0.0]“>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.controls.TextInput;
import mx.events.PropertyChangeEvent;
import mx.events.CollectionEventKind;
import mx.events.CollectionEvent;
import mx.events.DataGridEvent;      
import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection;
import com.adobe.serialization.json.JSON;

[Bindable]
private var dataArray:ArrayCollection;

private function initDataGrid():void
{
dataArray = new ArrayCollection();
getData.send();
}

private function getPHPData(event:ResultEvent):void
{
var rawArray:Array;
var rawData:String = String(event.result);
rawArray = JSON.decode(rawData) as Array;
dataArray = new ArrayCollection(rawArray);
}

private function sendPHPData():void{
var objSend:Object = new Object();
var dataString:String
dataString = escape(dataString);
objSend.name = txtInputName.text;
sendData.send(objSend);
txtInputName.text = “”;
getData.send()
}

private function updatedDataResult(event:ResultEvent):void{
lblStatus.text = String(event.result);
}
]]>
</mx:Script>

<mx:HTTPService id=”getData”
url=”http://www.vandersluijs.nl/flex/flexnames.php” useProxy=”false” method=”GET” resultFormat=”text” result=”getPHPData(event)”>
<mx:request xmlns=”">
<getTutorials>”true”</getTutorials>
</mx:request>
</mx:HTTPService>
<mx:HTTPService id=”sendData”
url=”http://www.vandersluijs.nl/flex/flexnames.php”
useProxy=”false” method=”GET”
resultFormat=”text” result=”updatedDataResult(event)”>
</mx:HTTPService>

<mx:DataGrid id=”dgData” x=”10″ y=”55″
width=”580″ height=”253″
dataProvider=”{dataArray}”
creationComplete=”{initDataGrid()}”
editable=”true”>
<mx:columns>
<mx:DataGridColumn headerText=”Name” dataField=”name” editable=”false”/>
<mx:DataGridColumn headerText=”Date” dataField=”date” width=”150″ editable=”false”/>
</mx:columns>
</mx:DataGrid>
<mx:Label x=”10″ y=”20″ text=”Mijn eerste data Insert met PhP en Json” width=”580″ fontFamily=”Verdana” fontSize=”12″ fontWeight=”bold” textAlign=”center”/>
<mx:Form x=”10″ y=”316″ width=”580″>
<mx:Label text=”Zet hier een naam, en druk op insert !” width=”267″ textAlign=”left” fontWeight=”bold”/>
<mx:TextInput id=”txtInputName”/>
<mx:Label text=”" id=”lblStatus”/>
<mx:Button label=”Insert” id=”btnInsert” click=”sendPHPData()”/>
</mx:Form>

</mx:Application> {/geshi}

Php gebaseerd op PHP framework:

{geshi lang=”php” lines=”true”} <?php
define( '_VALID_MOS', 1 );

$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];

// Include SimplePie
// Located in the parent directory
require( '../globals.php' );
require_once( '../configuration.php' );
require_once( '../includes/joomla.php' );

$name = mosGetParam( $_REQUEST, 'name', false);

if($name){
$sql = "INSERT INTO #__flexnames (`name`, `date`) VALUES ('".$name."', NOW())";
$database->setQuery( $sql );
if (!$database->query()) {
echo $database->stderr();
return false;
}else{
echo "insert gelukt !";
}
}else{
$sql = "SELECT * FROM #__flexnames ORDER BY date DESC";
$database->setQuery( $sql );
if (!$database->query()) {
echo $database->stderr();
return false;
}  
$rows = $database->loadObjectList();
Echo json_encode($rows);
}
?>
{/geshi}

 


About the author

Theo van der Sluijs Theo van der Sluijs (1975) is Software Development Manager bij Bax-shop.nl. Hij is sinds 1996 te vinden op internet en werkt aan concepten die het ultieme uit internet halen. Houdt van technologie, fotografie, audioboeken en het vader zijn van twee zoontjes Jesse & Quinten. Hij is bestuurslid van Flugr, Flex Usergroup Nederland en Goesweb.net.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)

Gerelateerde artikelen

Laat een reactie achter

Jouw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

De volgende HTML tags en attributen zijn toegestaan: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>