IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

galerie photo debutant en flex


Sujet :

Flex

  1. #21
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Points : 57
    Points
    57
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" color="#2A0631" themeColor="#FF00FC" creationComplete="{resultPropHandler();}"
    	>
     
     <mx:Script>
             <![CDATA[
             	import mx.containers.Tile;
               	import mx.controls.Label;
             	import mx.controls.Image;
             	import mx.effects.Resize;
                import mx.events.ResizeEvent;
                import mx.events.ListEvent;
                import mx.controls.Image;
                import mx.events.ItemClickEvent;
             	import mx.effects.Move;
    			import mx.effects.Parallel;
    			import mx.effects.Resize;
     
     
    			private function resultPropHandler():void  
    			{
     
    				var test:String;
    				var label:Label=new Label();	
    				tile.dataProvider = this.prop.property as Array;
    				             	   img.source=tile.dataProvider.getItemAt(0).img;
                 	 img.width=280;
                 	 img.scaleX= img.scaleY; 
     
     
     
    			}
     
     
                  private function tileList_itemClick(evt:ListEvent):void {
                  	//panel.addEventListener(Event.ACTIVATE, addedEffect);
                  	img.width=280;
                 	img.scaleX= img.scaleY; 
                    img.maintainAspectRatio = true;
                    img.source = evt.itemRenderer.data.img;
                 	dissolve.play();
     
                    }
     
                   /* function addedEffect(evt:ListEvent):void{
                  	var moveEffect:Move = new Move();
                    	var resizeEffect:Resize = new Resize();
                    	var parallelEffect:Parallel = new Parallel();
                    	moveEffect.xFrom =100;
                    	moveEffect.xTo=-200;
                      	//moveEffect.target=[panel];
                      	//parallelEffect.targets = [panel];
                    	//parallelEffect.addChild(moveEffect);
                    	moveEffect.play();
                    }*/
       ]]>	
        </mx:Script>
     
     
      <mx:Model  id="prop" source="MyXml.xml" />
      	<mx:Dissolve id="dissolve"
            duration="1000"
            target="{hb}"
            alphaFrom="0.0" alphaTo="0.8"/>
           <mx:Panel id="panel" height="320" horizontalScrollPolicy="off" verticalScrollPolicy="off"	>
           <mx:HorizontalList  id="tile" columnCount="4" columnWidth="160" rowCount="1"
           	rowHeight="140" height="76" width="378" itemRenderer="Thumbnail" itemClick="tileList_itemClick(event);"  />
    	    <mx:HBox id="hb">
    	    	<mx:Image id="img">
         		</mx:Image>
    	    </mx:HBox>
    	</mx:Panel>
    	</mx:Application>

    Mon code fonctionne mais j'ai une question crois tu que c'est possible de faire un effet qui donne l'impression que l'image sort de la tilelist (avec un resize) et arrive dans le panel.Ici j'ai juste mis un petit effet dissolve.
    Si c'est possible pourrait tu me donner des pistes? merci

  2. #22
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Points : 57
    Points
    57
    Par défaut
    voila je créée un nouveau fichier xml a chaque fois que l'on veut voir une maison mais il doit y avoir une meilleure solution non? de plus c'est crée sur le serveur donc si plusieurs personne visitent le site et veulent voir une maison différente ca va pas fonctionner?


    mon code php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    //creating  xml file for the image path 
     
    $nameXml="myXml.xml";
    touch($nameXml);
    $openfile=fopen($nameXml,"w+");
    $queryXml= "SELECT * FROM $table3 WHERE id = '$propertySelect' ";
    $resultXml = mysql_db_query ($DBName, $queryXml, $Link);
    $el ='<? xml version= "1.0" encoding=" UTF-8 " ?>'; 
    $el.= '<smartmove>'; 
     
    while ($rowXml = mysql_fetch_array($resultXml)) { 
      	$el.="<property>";
    	$el.="<id>".$rowXml["id"]."</id>"; 
    	$el.="<id_properties>".$rowXml["id_properties"]."</id_properties>"; 
    	$path1=$rowXml["img"];
    	$path2=$rowXml["img2"];
    	$el.="<img>".$path1."</img>"; 
    	$el.="<img2>".$path2."</img2>"; 
    	$el.="</property>";
     
     } 
    $el.="</smartmove>"; 
    fwrite($openfile,$el);
    fclose($openfile); 
     
     
     
    $displayData = <<<DISPLAY
     
    <form name="form1" method="post" action="" id="genericForm">
    		<fieldset>
     
     
                    <div style="text-align:center;">
     
    				 <div id="flashcontent">
     
    		<strong><img src="images/rune_flash.jpg" alt="get flash plugin" width="60" height="60" />You need to upgrade your Flash Player! Please click on the link below to install Flash Player.<br />
    		<a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">Download and Install Flash Player</a>		</strong>	</div>
     
    	 <script type="text/javascript">
    		// <![CDATA[
    		//This is a standards compliant way of embedding your Flash Content. Does not rely on embed or object tags.
     
    		var so = new SWFObject("test.swf", "sotester", "500", "500", "9", "#000000");
    		//so.addVariable("flashVarText", "this is passed in via FlashVars for example only"); // this line is optional, but this example uses the variable and displays this text inside the flash movie
    		so.write("flashcontent");
     
    		// ]]>
    	</script>

  3. #23
    Membre habitué Avatar de greatalain
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 124
    Points : 159
    Points
    159
    Par défaut
    pour la lecture pas de souci, par contre pour l'écriture, en effet tu risque d'avoir des petits souci si 2 personne travaille en même temps
    une solution pourrait être d'enregistré les modif dans un fichier avec un id et en fin de journée avoir un script automatique qui réécrit le fichier tu vois l'idée?

  4. #24
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Points : 57
    Points
    57
    Par défaut
    meme pour la lecture je pense car je créee un nouveau fichier à chaque fois qu'une propriété est selectionnée. Parce que je n'ai pas qu' une maison donc mon contenu de mon fichier xml est fait suivant ma variable qui est passé dans mon url. Donc en php je la recupere grace à un "GET" et je la mets dans ma variable "$propertyselect"

    ensuite j'effectue ma requete pour creer mon fichier xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $queryXml= "SELECT * FROM $table3 WHERE id = '$propertySelect' ";
    Puis je le creee.

    Supposons que 2 personnes sont sur le site et qu'ils regardent des propriétés differentes, un fichier xml est creee pour l'autre :on va donc en recreee un qui va ecraser l'ancien.
    enfin je vois pas je pense que je suis mauvais la. J'espere que j'ai bien expliqué lol

  5. #25
    Membre habitué Avatar de greatalain
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 124
    Points : 159
    Points
    159
    Par défaut
    je comprends peut-être mal mais pourquoi tu veux créer un fichier xml pour la lecture? ton script php peut renvoyer directement à flex une structure XML

  6. #26
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Points : 57
    Points
    57
    Par défaut
    c'est à dire? sans la stocker sur le serveur? enfin je vois pas ce que tu veux dire

  7. #27
    Membre habitué Avatar de greatalain
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 124
    Points : 159
    Points
    159
    Par défaut
    Dans ton return de ta fonction php tu construit en php ton xml et tu le renvoies
    Ensuite dans flex si tu utilise les httpServices, dans le event.result tu aura ta structure xml
    exemple au niveau flex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    private var service:HTTPService;
    private function initSession():void {
            service = new HTTPService();
            service.url = "../services/tonPhp.php";
    	service.resultFormat = "e4x";
    	service.addEventListener(ResultEvent.RESULT, resultInitSession);
    	service.addEventListener(FaultEvent.FAULT, faultInitSession);
    	service.send();
     
    }
    private function resultInitSession(event:ResultEvent):void {
    	var xmlResult:XMLList = XML(event.result).*;
            ...
    }
    J'ai juste repris un bout de code d'une de mes applis apres à toi de faire à ta sauce

  8. #28
    Membre habitué Avatar de greatalain
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 124
    Points : 159
    Points
    159
    Par défaut
    et du coté php tu fais ta requete sur ta bd et tu fais ensuite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    	print "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
    	print "<result>";
    	print "<files>";
    	$n= count($result);
    	for ($i= 0; $i < $n; $i++)
    	{
    		print "<file>";
    		print "<baseid>" . $result[$i]['baseid'] . "</baseid>";
    		print "<fileid>" . $result[$i]['fileid'] . "</fileid>";
    		print "</file>";
    	}
    	print "</files>";
    	print "<err><errnumber>$errnumber</errnumber><errdescription>$errdescription</errdescription></err>";
    	print "</result>";
    tu vois l'idée?

  9. #29
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Points : 57
    Points
    57
    Par défaut
    il va envoyer un fichier xml (des données) à flex pour chaque requete c'est ca?
    comment va t-il savoir que c'est tel id que j'ai sélectionné à partir de mon php ?
    parce que moi j'avais compris que le http service c'était pour aller de flex au PHP et non l'inverse

  10. #30
    Membre habitué Avatar de greatalain
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 124
    Points : 159
    Points
    159
    Par défaut
    non justement c'est l'inverse, les HTTPService permettent de faire appel à un script php et traiter le resultat de ce que print le php sans créer de fichier
    Donc dans ton php tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?php
     
    ta requete BD
     
    print "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
    print "<result>";
     print "<tesInfos>";
     pour chaque ligne de resultat de ta requete sql
     {
        print "<info>info[i]</info>
     }
     print "</tesInfos>";
    print "</result>";
     
    ?>
    et dans flex dans le event.result tu aura :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?xml version=\"1.0\" encoding=\"utf-8\"?>
     <result>
      <tesInfo>
       <info1>value</info1>
      ....

  11. #31
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Points : 57
    Points
    57
    Par défaut
    ok merci mais ca affiche mes valeurs en haut de la page.
    Elles vont pas disparaitre avec flex?

  12. #32
    Membre habitué Avatar de greatalain
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 124
    Points : 159
    Points
    159
    Par défaut
    tu dois créer un fichier php indépendant de ton principale il travaillera en fond et donc tu verra pas le xml mais en flex il recevra bien les valeurs dans le event.result
    J'ai fini ma journée la donc je pourrai pas répondre ce soir mais demain je suis la bon courage.

  13. #33
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Points : 57
    Points
    57
    Par défaut
    en tout cas merci beaucoup bonne soirée

  14. #34
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Points : 57
    Points
    57
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" color="#2A0631" themeColor="#FF00FC" creationComplete="{resultPropHandler();}"
    	>
     
     <mx:Script>
             <![CDATA[
             	import mx.containers.Tile;
               	import mx.controls.Label;
             	import mx.controls.Image;
             	import mx.effects.Resize;
                import mx.events.ResizeEvent;
                import mx.events.ListEvent;
                import mx.controls.Image;
                import mx.events.ItemClickEvent;
             	import mx.effects.Move;
    			import mx.effects.Parallel;
    			import flash.net.URLVariables;
             	import mx.controls.Alert;
                import mx.rpc.events.ResultEvent;
                import mx.rpc.events.FaultEvent;
    			import mx.rpc.http.HTTPService;
     
     
    	private var service:HTTPService;
     
    	private function resultInitSession(event:ResultEvent):void {
    		var xmlResult:XMLList = XML(event.result).*;
    		var test:String;
    		var label:Label=new Label();	
    		tile.dataProvider = service.lastResult.smartmove.property as Array;
    		img.source=tile.dataProvider.getItemAt(0).img2;
           	img.width=280;
           	img.scaleX= img.scaleY; 
    		}
     
    	private function faultHandler(error:String): void
    		{
    			mx.controls.Alert.show("error Image impossible to load ");
    		}		
     
     
     
    		private function resultPropHandler():void  
    			{
     
    				service = new HTTPService();
            		service.url = "http://localhost/test/displayPropFullDetails.php";
    				service.resultFormat = "e4x";
    				service.addEventListener(ResultEvent.RESULT, resultInitSession);
    				//service.addEventListener(FaultEvent.FAULT, faultInitSession);
    				service.send();
    		  }
     
     
                  private function tileList_itemClick(evt:ListEvent):void {
                  	img.source = evt.itemRenderer.data.img2;
                  	img.width=280;
                 	img.scaleX= img.scaleY; 
                    img.maintainAspectRatio = true;
                    dissolve.play();
     
                    }
     
     
    			//private var mySendAndLoadExample:SendAndLoadExample = new SendAndLoadExample();
    			/*private function sendAndLoad():void {
    			var url:String = 'http://[your server]/login.php';
    			var variables:URLVariables = new URLVariables();
    			variables.UserName = 'tushar';
    			variables.Password = 'my_password';
    			mySendAndLoadExample.sendData(url, variables);
    			}
    */
     
       ]]>	
        </mx:Script>
     
     
     
         	<mx:Dissolve id="dissolve"
            duration="1000"
            target="{img}"
            alphaFrom="0.0" alphaTo="0.8"/>
      	<mx:Panel id="panel" height="442" horizontalScrollPolicy="off" verticalScrollPolicy="off"	 width="468" themeColor="#71B838" horizontalCenter="0" verticalCenter="-23" cornerRadius="10" color="#7B7B7B" borderColor="#8B8585" layout="absolute" backgroundColor="#B1B3B4">
            <mx:HorizontalList  id="tile" columnCount="1" columnWidth="160" rowCount="1"
           	rowHeight="140" height="131" width="450" itemRenderer="Thumbnail" itemClick="tileList_itemClick(event);"   themeColor="#8BD04D" cornerRadius="3" alpha="0.51" alternatingItemColors="[#8B8589, #8B8589]" x="0" y="0"/>
    	    <mx:HBox id="hb" x="0" y="137">
    	    	<mx:Image id="img">
         		</mx:Image>
    	    </mx:HBox>
    	</mx:Panel>
     
    	</mx:Application>
    voila mon code je vais tester sur les serveurs de l'univrsité parce que mon localhost n'a pas l'air de répondre ...
    Bonne nouvelle pas d'erreur de compilation lol

  15. #35
    Membre habitué Avatar de greatalain
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 124
    Points : 159
    Points
    159
    Par défaut
    Attention!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    service.url = "http://localhost/test/displayPropFullDetails.php";
    ne jamais mettre de chemin absolu il faut mettre des relatif sinon le client il va chercher sur son locahost comme tu as écrit ton code

    si ton script est à la racine tu mets direct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    service.url = "displayPropFullDetails.php";

  16. #36
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Points : 57
    Points
    57
    Par défaut
    Voila j''qi teste sur le serveur de l'universite ma galerie se charge mais j'ai aucune image . il charge mon evenement erreur avec mon alerte.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" color="#2A0631" themeColor="#FF00FC" creationComplete="{resultPropHandler();}"
    	>
     
     <mx:Script>
             <![CDATA[
             	import mx.containers.Tile;
               	import mx.controls.Label;
             	import mx.controls.Image;
             	import mx.effects.Resize;
                import mx.events.ResizeEvent;
                import mx.events.ListEvent;
                import mx.controls.Image;
                import mx.events.ItemClickEvent;
             	import mx.effects.Move;
    			import mx.effects.Parallel;
    			import flash.net.URLVariables;
             	import mx.controls.Alert;
                import mx.rpc.events.ResultEvent;
                import mx.rpc.events.FaultEvent;
    			import mx.rpc.http.HTTPService;
     
     
    	private var service:HTTPService;
     
    	private function resultInitSession(event:ResultEvent):void {
    		var xmlResult:XMLList = XML(event.result).*;
    		var test:String;
    		var label:Label=new Label();	
    		tile.dataProvider = service.lastResult.smartmove.property as Array;
    		img.source=tile.dataProvider.getItemAt(0).img2;
           	img.width=280;
           	img.scaleX= img.scaleY; 
    		}
     
    	private function faultInitSession(error:String): void
    		{
    			mx.controls.Alert.show("error Image impossible to load ");
    		}		
     
     
     
    		private function resultPropHandler():void  
    			{
     
    				service = new HTTPService();
            		service.url = "displayPropFullDetails.php";
    				service.resultFormat = "e4x";
    				service.addEventListener(ResultEvent.RESULT, resultInitSession);
    				service.addEventListener(FaultEvent.FAULT, faultInitSession);
    				service.send();
    		  }
     
     
                  private function tileList_itemClick(evt:ListEvent):void {
                  	img.source = evt.itemRenderer.data.img2;
                  	img.width=280;
                 	img.scaleX= img.scaleY; 
                    img.maintainAspectRatio = true;
                    dissolve.play();
     
                    }
     
     
    			//private var mySendAndLoadExample:SendAndLoadExample = new SendAndLoadExample();
    			/*private function sendAndLoad():void {
    			var url:String = 'http://[your server]/login.php';
    			var variables:URLVariables = new URLVariables();
    			variables.UserName = 'tushar';
    			variables.Password = 'my_password';
    			mySendAndLoadExample.sendData(url, variables);
    			}
    */
     
       ]]>	
        </mx:Script>
     
     
     
         	<mx:Dissolve id="dissolve"
            duration="1000"
            target="{img}"
            alphaFrom="0.0" alphaTo="0.8"/>
      	<mx:Panel id="panel" height="442" horizontalScrollPolicy="off" verticalScrollPolicy="off"	 width="468" themeColor="#71B838" horizontalCenter="0" verticalCenter="-23" cornerRadius="10" color="#7B7B7B" borderColor="#8B8585" layout="absolute" backgroundColor="#B1B3B4">
            <mx:HorizontalList  id="tile" columnCount="1" columnWidth="160" rowCount="1"
           	rowHeight="140" height="131" width="450" itemRenderer="Thumbnail" itemClick="tileList_itemClick(event);"   themeColor="#8BD04D" cornerRadius="3" alpha="0.51" alternatingItemColors="[#8B8589, #8B8589]" x="0" y="0"/>
    	    <mx:HBox id="hb" x="0" y="137">
    	    	<mx:Image id="img">
         		</mx:Image>
    	    </mx:HBox>
    	</mx:Panel>
     
    	</mx:Application>

  17. #37
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Points : 57
    Points
    57
    Par défaut
    ca fonctionne mais j'ai toujours ce probleme de comment faire passer l'id de ma propriété à mon fichier php qui créée dynamiquement mon xml.
    donc j'ai deux page en php:


    celle ci:
    http://www.hiboox.fr/go/images/divers/test,q20cytmd.jpg
    dans laquelle figure ma galerie (bloque noir sur la photo)

    et celle ci qui doit recevoir le property select:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    include("common.php");
    DBConnect();
    $Link = mysql_connect($Host, $User, $Password);
    
    $queryXml= "SELECT * FROM $table3 WHERE id_properties = ''mon id de propriété de la page precedente ";
    $resultXml = mysql_db_query ($DBName, $queryXml, $Link);
    print '<?xml version="1.0" encoding="UTF-8"?>'; 
    print  '<smartmove>'; 
    while ($rowXml = mysql_fetch_array($resultXml)) { 
      	print"<property>";
    	print"<id>".$rowXml["id"]."</id>"; 
    	print"<id_properties>".$rowXml["id_properties"]."</id_properties>"; 
    	$path1=$rowXml["img"];
    	$path2=$rowXml["img2"];
    	print"<img1>".$path1."</img1>"; 
    	print"<img2>".$path2."</img2>"; 
    	print"</property>";
     
     } 
    print"</smartmove>"; 
    ?>

    ici mon code flex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" color="#2A0631" themeColor="#FF00FC" creationComplete="{resultPropHandler();}"
    	>
     
     <mx:Script>
             <![CDATA[
             	import mx.containers.Tile;
               	import mx.controls.Label;
             	import mx.controls.Image;
             	import mx.effects.Resize;
                import mx.events.ResizeEvent;
                import mx.events.ListEvent;
                import mx.controls.Image;
                import mx.events.ItemClickEvent;
             	import mx.effects.Move;
    			import mx.effects.Parallel;
    			import flash.net.URLVariables;
             	import mx.controls.Alert;
                import mx.rpc.events.ResultEvent;
                import mx.rpc.events.FaultEvent;
    			import mx.rpc.http.HTTPService;
     
     
    	//[Bindable] private var service:HTTPService;
     
     
    	private function resultInitSession(event:ResultEvent):void {
    		var xmlResult:XMLList = XML(event.result).*;
    		tile.dataProvider = service.lastResult.smartmove.property;
    		img.source=tile.dataProvider.getItemAt(0).img1;
    		img.width=280;
           	img.scaleX= img.scaleY; 
     
           }
     
     
    	private function faultHandler(error:String): void
    		{
    			mx.controls.Alert.show("error Image impossible to load ");
    		}		
     
     
     
    		private function resultPropHandler():void  
    			{
     
    				service.addEventListener(ResultEvent.RESULT, resultInitSession);
    				service.addEventListener(FaultEvent.FAULT, faultHandler);
    				service.send();
    		  }
     
     
                  private function tileList_itemClick(evt:ListEvent):void {
                  	img.source = evt.itemRenderer.data.img2;
                  	img.width=280;
                 	img.scaleX= img.scaleY; 
                    img.maintainAspectRatio = true;
                    dissolve.play();
     
                    }
     
     
    			//private var mySendAndLoadExample:SendAndLoadExample = new SendAndLoadExample();
    			/*private function sendAndLoad():void {
    			var url:String = 'http://[your server]/login.php';
    			var variables:URLVariables = new URLVariables();
    			variables.UserName = 'tushar';
    			variables.Password = 'my_password';
    			mySendAndLoadExample.sendData(url, variables);
    			}
    */
     
       ]]>	
        </mx:Script>
     
     
    	<mx:HTTPService id="service" url="http://localhost/test/gallery.php" />
    	   	<mx:Dissolve id="dissolve"
            duration="1000"
            target="{img}"
            alphaFrom="0.0" alphaTo="0.8"/>
          <mx:Panel id="panel" height="442" horizontalScrollPolicy="off" verticalScrollPolicy="off"	 width="468" themeColor="#71B838" horizontalCenter="0" verticalCenter="-23" cornerRadius="10" color="#7B7B7B" borderColor="#8B8585" layout="absolute" backgroundColor="#B1B3B4">
            <mx:HorizontalList  id="tile" columnCount="1" columnWidth="160" rowCount="1"
           	rowHeight="140" height="131" width="450" itemRenderer="Thumbnail" itemClick="tileList_itemClick(event);"   themeColor="#8BD04D" cornerRadius="3" alpha="0.51" alternatingItemColors="[#8B8589, #8B8589]" x="0" y="0"/>
    	    <mx:HBox id="hb" x="0" y="137">
    	    	<mx:Image id="img">
         		</mx:Image>
    	    </mx:HBox>
    	    <mx:Text x="331" y="394" id="T" color="#020202" enabled="true" alpha="0.59"/>
    	</mx:Panel>
     
    	</mx:Application>


    j'avais pensé à une variable de session sur le serveur de l université ca ne fonctionne pas : sa porté est limité.
    Que me conseillez vous???

  18. #38
    Membre habitué Avatar de greatalain
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 124
    Points : 159
    Points
    159
    Par défaut
    tiens voila un petit exemple qui passe un paramètre à php

    du côté flex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    		this.service = new HTTPService(); 
    		this.service.url = "http://localhost:8181/J2SImage-debug/ExportImage.php"; 
    		this.service.method = "POST"; 
    		this.service.useProxy = false; 
    		this.service.resultFormat = "text"; 
    		var objSend:Object = new Object(); 
    		objSend['base64String'] = base64String;
    		this.service.send(objSend);
    et du coté php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    $data =  base64_decode($_POST['base64String']);
     
                    //création du fichier
                    $handle = fopen("../Export/image.jpg", "wb");
                    if(!$handle) throw new exception("image.jpg open failed");
                    
                    $path = $_SERVER['DOCUMENT_ROOT']."/Export/image.jpg";
                    
                    file_put_contents($path,$data);
                    fclose($handle);
     
    ?>
    ce code me permet de passer une image à une page php.

    Dans ton cas il te suffira de passer l'id au lieu de ma variable base64String et du coté php tu mets dans une variable ton id et tu pourra l'exploiter dans ta requete sql

  19. #39
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Points : 57
    Points
    57
    Par défaut
    oui pour l 'envoyer mais comment je fais pour le recuperer car pour créeer mon xml dynamiquement je doit connaitre l'id avant. En gros je pense que je dois recuperer l'id de mon url, le passer à flex puis le passer au fichier php qui traite ma requete.
    Peut être que je comprends rien encore une fois

  20. #40
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Points : 57
    Points
    57
    Par défaut
    Finalement j'ai réussi avec mes variables de sessiosn et ca fonctionne c'est bizar c'etait juste un espace entre le égal lors de l'initialisation de ma variable qui faisait tout fouarer.

    si vous voulez que je mette mon code si ca peut servir à d'autre dites le moi.

    Enfin alain je te remercie pour tout ce que tu as fait pour moi . Sans toi j'aurais jamais réussi à faire ça ! Il faudra même que tu me donne ton nom je te citerais dans les remerciements lors de mon rapport. En tout cas ça m'a donné envie de me lancer dans FLEX. MErci encore. Je vous laisse j'ai du boulot ave cmon api google map

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Galerie photo en flex
    Par tsonamir dans le forum MXML
    Réponses: 1
    Dernier message: 20/10/2011, 14h53
  2. probleme de script de galerie photo
    Par leroidje dans le forum Langage
    Réponses: 14
    Dernier message: 19/06/2006, 17h34
  3. [GD] Erreur dans galerie photo : Call to undefined function: imagecreatefromjpeg()
    Par philippedeletree dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 21/02/2006, 22h51
  4. Galerie photo en ASP
    Par cyrill.gremaud dans le forum ASP
    Réponses: 11
    Dernier message: 16/01/2006, 10h44
  5. Galerie Photo
    Par bolo dans le forum ASP
    Réponses: 22
    Dernier message: 25/10/2005, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo