Creer des listes dynamique pour afficher els resultats d'une requete SQL

Résolu
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008 - 17 sept. 2005 à 00:31
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008 - 19 sept. 2005 à 19:26
A la suite de mon topic sur comment requeter une BDD sql directement dans flash, je voudrait savoir comment on peut produire une liste "dynamique". C'est a dire que une fois que je connais le nombre exact de reponses a ma requete, je voudrait que le script me duplique le mc que j'aurai pris le soin de créer représentant une ligne de la liste autant de fois que necéssaire.

ci-joint, le code que j'utilise (issu de la class sql de _benjy) :
function requetesql(qry, champ){
sql.onResult = function(rs){
if (rs.isError()){
this.element.nom.text = rs.getError();
return;
}
if (rs.rowCount == 0){
this.element.nom.text = "Aucun resultat";
} else if (rs.rowCount > 0){
for (var i=0; i<rs.rowCount; i++){
for (var j=0; j<rs.columnNames.length; j++){
this.element.nom.text = rs.getRow(i)[champ];
}
}
} else if (rs.success == true){
this.element.nom.text = "Requête éxécuté avec succes !";
}
}
sql.execute(qry);
}

Au passage, vu que son auteur veut que les modificatiosn aportées lui soit transmises, j'ai rajouté le parametre "champ" dans cette fonction permettant de simplifier la selection d'un champ.

8 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:52
Salut

alors facon simple ss le scroll,

tu mettra un mask et un scrool apres



tu créer un clip sur ta scene, avec un champ texte dynamique dedans

le clip nommé : 'item', le champ dedans nommé : 'dns'.

ce clip sur ta scene, tu en fait un nouveau (selectionné et F8) et tu nommes (occurence) ce dernier 'container'.

on a donc

_root (avec code sql)

|--- container

|--- item


|---dns (champ texte dynamic)

dans un calque action dans le clip 'item', tu met :



if (_name == "item"){


_visible = false;


return;


}


if (index > 0){


_y = _parent["item"+(index-1)]._y + _parent["item"+(index-1)]._height;


}




dns.text = dnsValue;

ok maitenant tu reviens sur _root et tu a la code sql

dans le onResult :



sql.onResult = function(rs){

if (rs.isError()){

tarce (rs.getError());

return;

}

if (rs.rowCount == 0){

trace("Aucun resultat");

} else if (rs.rowCount > 0){

for (var i=0; i<rs.rowCount; i++){


var objInit = new Object();


objInit.index = i;


objInit.dnsValue = rs.getRow(i)["nomDeTonChampDNS"];



container.item.duplicateMovieClip("item"+i,container.getNextHighestDepth(),objInit);
// voir aide mx 2004 pour les détails de duplicateMovieClip


}


} else if (rs.success == true){

trace("Requête éxécuté avec succes !");


}


}

et voilà

oublie pas de changer "nomDeTonChampDNS" dans
rs.getRow(i)

j'ai elevé le parcour des colonnes qui ne sert a rien quand tu veux qu'un champt et connait le nom



Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
3
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
18 sept. 2005 à 14:52
Bon, je suis arrivé enfin a generer ma liste en fontion du repartiteur selectioné. Je tien tout particulierement a remercier _benjy qui ma beaucoup aidé. J'ai cependant du modifier deux ou trois choses dans le deuxieme fragment de code qui est mentioné plus haut. D'une part pour que sa marche sur mon fla (_ben préocnisait l'utilisation de la racine pour implanter le script sql. Moi je l'ai mis dans un clip. Et d'autre parts, pour obetnir le resultats que je souhaitait. En effet, non pas m'afficher les problemes dans la fentre de sortie, je les ai affichés dans les champs de textes que j'utilise pour les resultats.

Enfin bref, je vous laisse regarder :
//fonction SQL.
function requetesql(qry){
sql.onResult = function(rs){
if (rs.isError()){
var objInit = new Object();
objInit.dnsValue = ""+rs.getError+"";
container.item.duplicateMovieClip("item1",container.getNextHighestDepth(),objInit);
}
if (rs.rowCount == 0){
var objInit = new Object();
objInit.dnsValue = "Aucuns resultats";
container.item.duplicateMovieClip("item1",container.getNextHighestDepth(),objInit);
} else if (rs.rowCount > 0){
for (var i=0; i<rs.rowCount; i++){
var objInit = new Object();
objInit.index = i;
objInit.dnsValue = rs.getRow(i)["dslam"];
objInit.etatValue = rs.getRow(i)["etat"];
container.item.duplicateMovieClip("item"+i,container.getNextHighestDepth(),objInit); // voir aide mx 2004 pour les détails de duplicateMovieClip
}


} else if (rs.success == true){
Resultats.text = "Requête éxécuté avec succes !";
}
}
sql.execute(qry);
}
3
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
17 sept. 2005 à 00:55
Merci beaucoup pour ton aide te je regarderai ce demain car je tombe de somaeil... a++
0
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
17 sept. 2005 à 12:55
Ben la j'ai suivi a la lettre tes instructions a une exeption près, c'est que je ne suis pas dans la _root. pour mettre le script sql mais dans _root.outils_FT.liste_DSLAM. J'ai par consequent vérifié tous les chemin dans tous les cripts que tu m'a donné et ca ne marche cependant pas.

Je donne ma langue au chat et peut-etre que toi tu aura la reponse...
0

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

Posez votre question
_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 à 16:53
Salut

ouaip tu t'es planté quelque part, car mon script marche

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
17 sept. 2005 à 17:48
Ben j'ai un peu fait du copier coller dans un nouveau fla pour verifier que ce n'était pas la non utilisation de la _root. et ca ne marche toujour pas... En suivant strictement tes instructions. Je crois que le plus simple serai que tu m'envoi le fla que tu as utilisé si tu l'as encore. Mon mail : lacombe.f2@free.fr

Merci encore
0
_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:18
Salut

bon ben cool tu t'en es sorti

impécable

juste pour info, je préconise pas d'utilise sql sur root, ct juse pour l'exemple ... :)

++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
19 sept. 2005 à 19:26
oui oui mais je parlais bien aussi de l'exmple...
0
Rejoignez-nous