PDA

View Full Version : amfphp services


dezyn
07-09-2007, 01:20 AM
Aloha
ok...here it goes...i am trying to get my amfphp to load values from DB. loads single value, but not all values from dataGrid comp. I know it has to do with the array, but i dont know if i need to buid it in AS or php.
I am getting an ulcer from all the red bull.....Has anybody tried to do this before?
AS code

import mx.managers.PopUpManager;
import mx.containers.Window;
import mx.transitions.Tween;
import mx.transitions.easing.*;
import mx.core.View;
import mx.controls.ProgressBar;
import mx.controls.List;
import mx.utils.Delegate;
import mx.controls.gridclasses.DataGridColumn;
import mx.controls.DataGrid;

import mx.controls.Alert;



//////////////////////////////////////////////////////////////////////////////
import mx.remoting.*;
import mx.remoting.debug.*;
import mx.rpc.*;

class DiveService
{
//Set some styles


//public service instead
static var GATEWAY_URL:String = "http://amfphp.divefiji.com/flashservices/gateway.php"
//static var GATEWAY_URL:String = "http://dive/flashservices/gateway.php"
static var SERVICE_NAME:String = "DiveService"

//The service reference
var service:Service;

function DiveService()
{
_global.style.setStyle ('themeColor', 'haloOrange');
_global.style.setStyle ('fontFamily', 'Verdana');
_global.style.setStyle ('fontSize', 12);


init();
// Start test
//makeTest();




}

///////////////////////////////////////////////////////////////////////////
// Remoting-related methods
///////////////////////////////////////////////////////////////////////////

function init()
{
//Start the NetConnection debugger
NetDebug.initialize();
//Create the service
service = new Service(GATEWAY_URL, null, SERVICE_NAME,null,null);



}

function makeTest() {
loadDives('vitiLevu','novice');
loadDivesByParametres('vitiLevu','novice','-100.1','100.2');
loadServiceProviders('mamanuca','dive_charter_serv ices');
loadServiceProvidersByPrice(100,200,'mamanuca');
loadServiceProvidersByCoordinate(100,200,'-100.1','100.2');
}


function loadDives(island:String,divType:String)
{
var pc:PendingCall = service.loadDives(island, divType);
pc.responder = new RelayResponder(this, 'handleLoadDives', 'error');
}


function loadDivesByParametres(island:String,divType:String ,longitude:String,latitude:String)
{
var pc:PendingCall = service.loadDivesByParametres(island,divType,longi tude,latitude);
pc.responder = new RelayResponder(_root, 'handleLoadDivesByParametres','error');
}

function loadServiceProviders(island:String,provType:String )
{
var pc:PendingCall = service.loadServiceProviders(island,provType);
pc.responder = new RelayResponder(_root, 'handleLoadServiceProviders','error');
}

function loadServiceProvidersByPrice(lowerprice:Number,uppe rprice:Number)
{
var pc:PendingCall = service.loadServiceProvidersByPrice(lowerprice,upp erprice);
pc.responder = new RelayResponder(_root, 'handleLoadServiceProvidersByPrice','error');
}

function loadServiceProvidersByPrice2(lowerprice:Number,upp erprice:Number,island:String)
{
var pc:PendingCall = service.loadServiceProvidersByPrice(lowerprice,upp erprice,island);
pc.responder = new RelayResponder(_root, 'handleLoadServiceProvidersByPrice','error');
}

function loadServiceProvidersByCoordinate(lowerprice:Number ,upperprice:Number,longitude:String,latitude:Strin g)
{
var pc:PendingCall = service.loadServiceProvidersByCoordinate(lowerpric e,upperprice,longitude,latitude);
pc.responder = new RelayResponder(_root, 'handleLoadServiceProvidersByCoordinate','error');
}


function loadServicesByProvider(providerId:Number)
{
var pc:PendingCall = service.loadServicesByProvider(providerId);
pc.responder = new RelayResponder(_root, 'handleLoadServicesByProvider','error');
}


function loadServiceProviderById(id:Number)
{
var pc:PendingCall = service.loadServiceProviderById(id);
pc.responder = new RelayResponder(_root, 'handleLoadServiceProviderById','error');
}




function error(re:ResultEvent) {
trace('error');
}


function handleLoadDives(re:ResultEvent)
{

_root.dgMenu.List.sortItemsBy ("name", "asc");
_root.dgMenu.setStyle ('hGridLines', true);
_root.dgMenu.setStyle ('hGridLineColor', 0xdddddd);

//_root.dgMenu.addColumn("name");
mx.accessibility.DataGridAccImpl.enableAccessibili ty();
//_root.dgMenu.addItem(1,{name:"me"});

var data:Array = new Array(re.result.length);
for(var i=0; i<re.result.length; i++){
var obj:Object = {info:re.result[i].name, info:re.result[i].depth};
data[i] = {name:obj.info};
_root.dgMenu.dataProvider.addItem(data.name);
var objDive:Object = data.name
//trace(obj.info);
_root.dgMenu.dataProvider = RecordSet (re.result);
_root.dgMenu.selectedIndex = 0;
onDgChange ({target:_root.dgMenu});
}
//_root.dgMenu.dataProvider = data;
//There is no step 2.... Mouhahah!
//Reset the selectedIndex of the datagrid to 0
//_root.dgMenu.selectedIndex = 0;
//Fake as though the datagrid was clicked


function onDgChange (evtObj:Object)

{
var list = evtObj.target;
var data = list.dataProvider.getItemAt (list.selectedIndex);
if (data == null)
{
//root.readMessages.txtMessage.text = "";
//If empty, clear textarea
}
else
{
//information for dives
_root.DiveInfo_mc.Dive_Desc.access_txt.text = data.access;
trace(data.name);
_root.DiveInfo_mc.Dive_Desc.current_txt.text = data.current;
_root.DiveInfo_mc.Dive_Desc.depth_txt.text = data.depth;
_root.DiveInfo_mc.Dive_Desc.surface_txt.text = data.surface;
_root.DiveInfo_mc.Dive_Desc.temp_txt.text = data.temerature;
_root.DiveInfo_mc.Dive_Desc.visability_txt.text = data.visability;
_root.DiveInfo_mc.Dive_Desc.Desciption_Title.text = data.name;
_root.DiveInfo_mc.Dive_Desc.extras_title.text = data.name;
_root.DiveInfo_mc.Dive_Desc.DiveStat_Title.text = data.name;

//information for services
_root.services_mc.contact_title.text =data.name
_root.services_mc.contactInfo_title.text =data.name
_root.services_mc.description_title.text = data.name
_root.services_mc.servicesExtra_title.text = data.name
_root.services_mc.rates_title.text =data.name

_root.services_mc.servicesDescription_txt.text = data.description;
_root.services_mc.serviceAddress.text = data.address;
_root.services_mc.servicePhone.text = data.phone;
_root.services_mc.serviceFax.text = data.fax;
_root.services_mc.serviceEmail.text = data.email
_root.services_mc.serviceCity.text = data.city
_root.services_mc.servicesName.text = data.name
_root.services_mc.serviceURL.text = data.site



_root.services_mc.rateDropDown.
/**need to build function that loads all rates into dropdown
then makes selection from drop down load the data from services DB

just like datagrid component.

*/
_root.services_mc.ratesDescription.text = '<html>' + data.price + '<br>----------------------------------------<br>' + data.description +'</html>';
//_root.LoadImageRate
//////////load banner function////////////////////////
_root.my_mcl.loadClip ("banners/" + data.xmlAd, "_root.Banner_Loader");
//////////load / move map ////////////////////////////
_root.map.setCenter ({lat:data.latitude, lng:data.longitude}, data.zoom);
///////check to see if gallery is loaded..
_root.CheckGallery ();
_root.Img_Gallery.contentXML = data.xmlGallery;
//brng menu out

//////////////add klm layers to map//////////////

_root.showTooltip
}


}


}




//////////////////functions NetDebug///////////////////

function handleLoadDivesByParametres(re:ResultEvent)
{
NetDebug.trace(re.result);
}

function handleLoadServiceProviders(re:ResultEvent)
{
NetDebug.trace(re.result);
}

function handleLoadServiceProvidersByPrice(re:ResultEvent)
{
NetDebug.trace(re.result);
}

function handleLoadServiceProvidersByCoordinate(re:ResultEv ent)
{
NetDebug.trace(re.result);
}

function handleLoadServiceProviderById(re:ResultEvent)
{
NetDebug.trace(re.result);
}


////////////////change information in services and dives information on selection from DG/////////////////////////



}





here is php service

http://amfphp.divefiji.com/flashservices/services/DiveService.php

LOLFlash
07-09-2007, 04:04 AM
first start from browser: Does your amfphp browser works?
Do you see all your data in explorer window?

dezyn
07-09-2007, 04:24 AM
yes all objects are returned in Netdebugger and as variables in output.
the publish displays name in Datagrid, but no event is prevoked on onChange in the list portion of DG.

LOLFlash
07-09-2007, 04:47 AM
, but no event is prevoked on onChange in the list portion of DG.

what name of Datagrid?

does datagrid populated with dataset?

dataGrid dont have onChange event <-> "change" event