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}









