milos 2 Posted January 4, 2014 Report Posted January 4, 2014 treba da mi se prilikom startovanja flex aplikacija popuni tabela koja u jednom redu ima listu za svaku knjigu izvucenu iz baze koja treba da sadrzi autore. tabela je sledeca: . php kod koji sluzi sa izlistavanje knjiga: knjiga.php public function getListaKnjiga() { $greska = new VOGreska(); $greska->uspesno = true; $ret = new VOKnjigaLista(); $ret->greska = $greska; try{ $konektor = new DbKonektor(); $upit = "SELECT * FROM knjiga "; $rezultat = $konektor->upit($upit); $ret->knjige = array(); while ( $row = $konektor->fetchObject($rezultat) ) { $tmp = new VOKnjiga(); $tmp->knjigaId = $row->knjigaId; $tmp->ISBN = $row->ISBN; $tmp->naziv= $row->naziv; $tmp->godIzdanja = $row->godIzdanja; $tmp->kolicina = $row->kolicina; $ret->knjige[] = $tmp; } $konektor->oslobodiResurse($rezultat); $konektor->zatvori(); } catch(ConnectException $e) { $greska->uspesno = false; $greska->poruka = $e->getMessage(); $ret->greska = $greska; } catch(SQLException $e) { $greska->uspesno = false; $greska->poruka = "GREŠKA PRILIKOM ČITANJA PODATAKA IZ BAZE:\n\n".$e->getMessage(); $greska->stackTrace = $e->getTraceAsString(); $ret->greska = $greska; } return $ret; } public function getListaKnjigaautor( $knjigaId ) { $greska = new VOGreska(); $greska->uspesno = true; $ret = new VOKnjigaLista(); $ret->greska = $greska; try{ $konektor = new DbKonektor(); $upit = "SELECT autor.ime, autor.Prezime, autor.autorId, knjiga.knjigaId FROM autor INNER JOIN knjigaautor ON autor.autorId = knjigaautor.IdAutor INNER JOIN knjiga ON knjiga.knjigaId = knjigaautor.IdKnjiga where knjiga.knjigaId ='". $knjigaId ."' "; $rezultat = $konektor->upit($upit); $ret->knjigautori = array(); while ( $row = $konektor->fetchObject($rezultat) ) { $tmp = new VOKnjiga(); $tmp->ime = $row->ime; $tmp->Prezime = $row->Prezime; $tmp->knjigaId = $row->knjigaId; $tmp->autorId = $row->autorId; $ret->knjigautori[] = $tmp; } $konektor->oslobodiResurse($rezultat); $konektor->zatvori(); } catch(ConnectException $e) { $greska->uspesno = false; $greska->poruka = $e->getMessage(); $ret->greska = $greska; } catch(SQLException $e) { $greska->uspesno = false; $greska->poruka = "GREŠKA PRILIKOM ČITANJA PODATAKA IZ BAZE:\n\n".$e->getMessage(); $greska->stackTrace = $e->getTraceAsString(); $ret->greska = $greska; } return $ret; } VOKnjiga.php <?php class VOKnjiga{ public $ime; public $Prezime; public $naziv; public $ISBN; public $knjigaId; public $godIzdanja; public $kolicina; public $autorId; var $_explicitType = "ep.VOKnjiga"; } ?> VOKnjigaLista.php <?php class VOKnjigaLista { public $knjige; public $knjigautori; public $greska; //explicit actionscript klasa var $_explicitType = "ep.VOKnjigaLista"; } ?> kod sa strane flex-a mxml fajl: <s:RemoteObject id="knjige" destination="ep.Knjiga" source="ep.Knjiga" endpoint="amfphp/gateway.php" showBusyCursor="true"> <s:method name="getListaKnjiga" result="getListaKnjigaResult(event)" fault="faultHandler(event)"/> <!--<s:method name="deleteKorisnik" result="deleteKorisnikResult(event)" fault="faultHandler(event)"/>--> </s:RemoteObject> <s:RemoteObject id="knjigautori" destination="ep.Knjiga" source="ep.Knjiga" endpoint="amfphp/gateway.php" showBusyCursor="true"> <!--<s:method name="getListaKnjiga" result="getListaKnjigaResult(event)" fault="faultHandler(event)"/>--> <s:method name="getListaKnjigaautor" result="getListaKnjigaautorResult(event)" fault="faultHandler(event)"/> <!--<s:method name="deleteKorisnik" result="deleteKorisnikResult(event)" fault="faultHandler(event)"/>--> </s:RemoteObject> import ep.VOKnjiga; [Bindable] public var knjiga:VOKnjiga; private function initRequest():void { knjige.getListaKnjiga.send( ); knjigautori.getListaKnjigaautor.send(knjiga.knjigaId ); } private function getListaKnjigaResult(event:ResultEvent):void { //ako se desila greška ispisuje se poruka if( !knjige.getListaKnjiga.lastResult.greska.uspesno ) Alert.show( knjige.getListaKnjiga.lastResult.greska.poruka, "GREŠKA" ); //ako se nije desila greška popunjava se tabela else tabela_Knjiga_Provider = new ArrayCollection(knjige.getListaKnjiga.lastResult.knjige); } private function getListaKnjigaautorResult(event:ResultEvent):void { //ako se desila greška ispisuje se poruka if( !knjigautori.getListaKnjigaautor.lastResult.greska.uspesno ) Alert.show( knjigautori.getListaKnjigaautor.lastResult.greska.poruka, "GREŠKA" ); //ako se nije desila greška popunjava se tabela else lista_autora_provider = new ArrayCollection(knjigautori.getListaKnjigaautor.lastResult.knjigautori); } VOKnjiga.as package ep { [RemoteClass(alias="ep.VOKnjiga")] [Bindable] public class VOKnjiga { public var ime:String; public var Prezime:String; public var naziv:String; public var ISBN:int; public var knjigaId:String; public var godIzdanja:int; public var kolicina:int; public var autorId:int; } } VOKnjigaLista.as package ep { import ep.includes.VOGreska; [RemoteClass(alias="ep.VOKnjigaLista")] [Bindable] public class VOKnjigaLista { public var knjige:Array; public var knjigautori:Array; public var greska:VOGreska; } } a greska koju dobijam, je da nisam prosledio parametar funkciji U napred hvala
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now