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
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