Probleme Flash php Mysql Boucle

Résolu
keygrees Messages postés 9 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 septembre 2005 - 16 sept. 2005 à 22:31
keygrees Messages postés 9 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 septembre 2005 - 19 sept. 2005 à 22:27
Bonjour a tous voila jai un petit probleme :
Je recoit des données provenant d'une base de données donc je fais appel a un script php puis flash lit les donnée grace au script ci - dessus qui fonctionne tres bien :

var _lvEnvoit = new LoadVars();
var _lvRecoit = new LoadVars();
_lvEnvoit.nom = "1";
_lvEnvoit.sendAndLoad("test.php", _lvRecoit);
_lvRecoit.onLoad = function() {
_root.but1.nom = this.nname1;
_root.but1.prenom = this.pname1;
_root.but1.conteneur.loadMovie(this.img1);


_root.but2.nom = this.nname2;
_root.but2.prenom = this.pname2;
_root.but2.conteneur.loadMovie(this.img2);

_root.but3.nom = this.nname3;
_root.but3.prenom = this.pname3;
_root.but3.conteneur.loadMovie(this.img3);

_root.but4.nom = this.nname4;
_root.but4.prenom = this.pname4;
_root.but4.conteneur.loadMovie(this.img4);
};

jaimerai bcp faire une boucle de cette facon ou autre comme ci dessous ( qui automatiserai encore plus )::

do {
q++
dup = "button" + q;
duplicateMovieClip ("modele", dup, q);
setProperty (dup, _y, (q*30)+50);
setProperty (dup, _x, 185);
this[dup + ".nom"] = this["nname" + q];
.................
}while (q<nbr);

mais hélas ca ne saffiche plus quand je lis le fichier sur un serveur.Si vous avez des solutions a proposer je suis preneur car jai essayer toutes les style de boucles et ca ne marche pas ( for , while et do)
Je ne comprendre pas lol
En vous remerciant d'avance......

13 réponses

_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
17 sept. 2005 à 00:38
Salut


il faudrais pour un question de simplicité que tu ajoute a php d'ecrire le nombre d'elements

pour l'exemple on dira que tu l'appel 'nbelments'
look :

var lv:LoadVars = new LoadVars();

lv.onLoad = function(success){

if (success){

var i = 0;

var count = this.nbelements;

while (i<count){ //while est plus rapide que for...

name = "bouton"+i;


var initObject = new Object();


initObject._x = 185;

initObject._y = 50+i*30;

model.duplicateMovieClip("dup"+i,this.getNextHighestDepth(),initObject); // voir l'aide de flash mx 2004 pour les détails de duplicateMovieCLip :)

i++

}

} else {

trace("impossible de se connecté à php");

}

}



ca devrais rouler comme sur des roulettes :)

++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
3
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
17 sept. 2005 à 17:05
Salut

lance le sendAndLoad apres avoir défini le onLoad

ensuite pourquoi ne pas utiliser la notation objet comme je te la
démontre au dessus ? avec occure.duplicate plutot que
dupliceta(occurence ainsi que l'obj d'initialisation du clip ???

etsuite a quoi sert ta ligne this[dup + ".nom"] = this["nom" + q]; je n'en comprends pas l'interret ... ah si ok c le pour définir la varialble nom j'avais pas vu le point :)

c'est plutot :

this[dup].nom = this["nom"+q];

mais encore une fois l'obj d'initialisation c mieux

utiliser un objet d'initialisation ca revient a mettre onClipEvent(load) sur le new clip

++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
3
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
19 sept. 2005 à 13:17
Salut

tu peux pas, car c du php, la
taille des données affichés (dans php et chargé dans Flash) change
donc, selon que tu ai 10 ou 100000 enregistrements

donc tu peux pas connaitre le taux chargé par getBytesLoaded et getBytesTotal

tu peux tjs faire une petite anim de chargement (un truc qui tourne en
boucle) pour attendre mais tu pourras pas indiqué l'évolution

++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
3
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
19 sept. 2005 à 17:33
Salut

Comprends pas la question (surtout si le code est sur une seul ligne ....)



il me semble pas compliqué d'afficher un clip (anim de chargement, je
sais pas moi un truc qui tourne) quand tu lance le LoadVars.load

et de le cacher quand tu recup les données (dans le LoadVars.onLoad)

clip._visible = true; // le clip est affiché

clip._visible = false; // le clip est cahcé
...


Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
keygrees Messages postés 9 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 septembre 2005
17 sept. 2005 à 03:27
Franchement je te remercie pour une réponse aussi rapide ca cartonne bref depuis tout a leur j'essaye de bidouiller un peu le code mais sans réussite voici le nouveau code ::

var lv:LoadVars = new LoadVars();
lv.sendAndLoad("select.php", lv);
lv.onLoad = function()
{
if (success)
{
var q = 0;
var count = this.nbr;
while (q<count)
{
dup = "bouton"+q;
duplicateMovieClip("modele",dup,q);
this[dup]._x = 185;
this[dup]._y = (q*30)+50;
this[dup + ".nom"] = this["nom" + q];
q++
}
}
else
{
_root.testance="impossible de se connecté à php";
}
}

tu parle dans ta réponse du nombre délément cad le nombre d'enrigistrement ??? si oui c la variable nbr
bref ya toujours rien qui saffiche et la je sais po koi faire
En tout cas merci benji pour ton aide c cool...
0
keygrees Messages postés 9 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 septembre 2005
17 sept. 2005 à 22:06
j'ai fait tout comme tu ma dis lol... mais toujours pas

voici le code flash :::

varlv:LoadVars = new LoadVars();
lv.onLoad = function(success)
{
if (success)
{
var q = 0;
var count = this.nbr;
while (q<count)
{
dup = "bouton"+q;
var initObject = new Object();
initObject._x = 185;
initObject._y = 50+q*30;
modele.duplicateMovieClip(dup,this.getNextHighestDepth(),initObject);
this[dup].nom = this["nom"+q];
q++
}
}
}
lv.sendAndLoad("select.php",lv);

et aussi le code php mais celui ci fonctionne tres bien donc je comprend pas trop :::

<?
function parse($variable,$valeur)
{
echo "&$variable=$valeur";
}


$nbr_data = 5;

mysql_connect("localhost", "root", "");

$min = $offset * $nbr_data;


$page = $min + $nbr_data;


$data =mysql_db_query("carnet","select id_personne ,nom_personne from personne order by id_personne");

$nbr_result = mysql_num_rows($data);


parse("nbr",$nbr_result);


$i = 1;


while (list($id,$nom) = mysql_fetch_row($data)){
parse("id$i",$id);
parse("nom$i",$nom);
$i++;
}

?>

désolé mais je vois pas
Si tu peux m'apporter une aide supplémentaire avec ca je serai super ravi merci encore benjy
0
keygrees Messages postés 9 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 septembre 2005
18 sept. 2005 à 02:45
yes en faite j'ai trouver c tout con il suffit juste quand tu appel les données de php de mettre le nom du load que tu as mis juste avant le nom de la donnée....
2 jours pour trouver c chaud quand meme bref merci benji ce forum est tres sympa a bientot ++
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
18 sept. 2005 à 20:08
Salut

ah je pref que t'es trouvé car je capté pas, ca devait macher LOL

dis serais sympa de penser a accepter les réponses que je t'ai faite et qui t'on servis ... merci

++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
keygrees Messages postés 9 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 septembre 2005
18 sept. 2005 à 23:22
ca roule c fait et je voulais savoir ca sert a koi les point ici sur ce site ???? jai pas trop compris lol
0
keygrees Messages postés 9 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 septembre 2005
19 sept. 2005 à 02:37
J'ai une derniere question benjy ::
voila tu as vu que dans le script de flash les données sont chargé en boucle donc on a X lignes qui vont s'afficher avec principalement du texte mais sur chaque ligne il y a aussi une image. Ma question est la suivante :: Comment faire un chargement de ces données pour faire patienter le visiteur ???

J'avais penser a getBytesLoaded() et getBytesTotal() en _root mais flash va charger l'animation sans les elements exterieurs ... Donc comment faire ???

J'ai pas d'idée - Si tu peu m'éclairer sur ce probleme ca serai pas mal
0
keygrees Messages postés 9 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 septembre 2005
19 sept. 2005 à 17:27
oui c que je te dis mais comment faire une amin en boucle si le code n'est que sur une seule ligne ???
0
keygrees Messages postés 9 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 septembre 2005
19 sept. 2005 à 20:52
ok ca jai pigé mais faut mettre une condition alors mais comment ??? et tu la place ou cette condition avant le onload = .... ???
0
keygrees Messages postés 9 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 septembre 2005
19 sept. 2005 à 22:27
C bon j'ai trouver :::
Tu parse une valeure a la fin de ton fichier php genre Parse ("chargement" , 1);
Au début du script flash tu met chargement = 0;
ensuite tu met une condition si chargement = 1 alors on arrete l'animation chargement voila
je pense avoir fini de tembéter benjy lol
++ et merci encore pour tes conseils
0
Rejoignez-nous