Jump to content

prosledjivanje parametara iz flex-a na php


Recommended Posts

Posted

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:

80wk.th.jpg.

 

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...
powered by