Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : afficher plusieurs colonnes issues d'un xml [ Base de données / XML ] (vegetalain)

jeudi 12 juin 2008 à 09:48:15 | afficher plusieurs colonnes issues d'un xml

vegetalain

Salut, voilà, je dois afficher des produits et des prix dans flash, via xml. les prix doivent être alignés à droite (colonne3) et le reste (col1 et col2), normal, à droite.

voilà la tronche du xml de base :

<?xml version="1.0" encoding="UTF-8"?>
<cataccueil><![CDATA[
<table width="250" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="Contenu/etoile1.png">[color[#b38d3a]][b]Bourgoule[/b]</td><td align="right">[color[#000000]]03,50 ¤</td>
<td>[/color][/b][size[9]][color[#000000]]Garnis de machins[/color][/size]</td>
</tr>
<tr>
<td><img src="Contenu/etoile1.png">[color[#b38d3a]][b]Bourgouleqs df[/b]</td><td>[color[#000000]]03,50 ¤</td>
<td>[/color][/b][size[9]][color[#000000]]Garnis de machins[/color][/size]</td>
</tr>
</table>

<table width="250" border="1" cellspacing="0" cellpadding="0">
  <tr><td><img src="Contenu/col1.gif"></td><td><img src="Contenu/col2.gif"></td><td><img src="Contenu/col3.gif"></td>
  <tr><td>1</td><td>2</td><td>3</td></tr>
  <tr><td>Asdf </td><td>sdf B</td><td>C</td></tr>
</table>

]]>
<cataccueil>

J'ai essayé d'insérer des gif de différentes longueur comme on je le faisais dans d ream avant. mais non.

Et voilà le flash qui appele le xml :

import str;

myXML = new XML ();myXML.ignoreWhite = true;System.useCodepage = true;myXML.onLoad = function (flag)
{if (flag){accueil = myXML.childNodes[0];tmpAccueilContent = accueil.firstChild.toString();
tmpAccueilContent = str.nl2br(tmpAccueilContent); // a utiliser pour exportation flashplayer 8 ( résout un bug du fp8 )
tmpAccueilContent = str.parseHTML(tmpAccueilContent); // force le code html ( remplace &lt par < par exemple )
tmpAccueilContent = str.parseBBCode(tmpAccueilContent); // pasre le BBCode ^^
_root.accueilContent.htmlText = tmpAccueilContent;}}
myXML.load ("Contenu/plats1.xml");
trace("tmpAccueilContent="+_root.accueilContent.htmlText);
trace("accueil="+accueil);

c un code pris sur le site mais je ne sais plus où, ça fait longtemps (désolé pour le codeur qui en est à l'origine )
Le fichier str qui est appelé régi les balises et les accents :

class str
{
    public static function replace ( t, s, r ) :String
    {
        var tmpArray :Array = t.split(s);
        var tmpString :String = tmpArray.join(r);
        return tmpString;
    }
   
    public static function nl2br ( t ) :String
    {
        var tmpArray :Array = t.split("\n");
        var tmpString :String = tmpArray.join("");
        return tmpString;
    }
   
    public static function parseHTML ( t ) :String
    {
        var tmpString :String = t;
        tmpString = replace(tmpString, "&apos;", "\'");
        tmpString = replace(tmpString, "&amp;", "&");
        tmpString = replace(tmpString, "&lt;", "<");
        tmpString = replace(tmpString, "&gt;", ">");
        tmpString = replace(tmpString, "&sup2;", "²");
        tmpString = replace(tmpString, "&eacute;", "é");
        tmpString = replace(tmpString, "&quot;", "\"");
        tmpString = replace(tmpString, "&egrave;", "è");
        tmpString = replace(tmpString, "&ccedil;", "ç");
        tmpString = replace(tmpString, "&agrave;", "à");
        tmpString = replace(tmpString, "&ugrave;", "ù");
        tmpString = replace(tmpString, "&auml;", "ä");
        tmpString = replace(tmpString, "&euml;", "ë");
        tmpString = replace(tmpString, "&uuml;", "ü");
        tmpString = replace(tmpString, "&iuml;", "ï");
        tmpString = replace(tmpString, "&ouml;", "ö");
        tmpString = replace(tmpString, "&ocirc;", "ô");
        tmpString = replace(tmpString, "&icirc;", "î");
        tmpString = replace(tmpString, "&ucirc;", "û");
        tmpString = replace(tmpString, "&ecirc;", "ê");
        tmpString = replace(tmpString, "&acirc;", "â");       
        return tmpString;
    }
   
    public static function parseBBCode ( t ) :String
    {
        var tmpString :String = t;
        tmpString = replace(tmpString, "]]", "'>");
        tmpString = replace(tmpString, "[br]", "<br>");
        tmpString = replace(tmpString, "[b]", "<b>");
        tmpString = replace(tmpString, "[/b]", "</b>");
        tmpString = replace(tmpString, "[i]", "<i>");
        tmpString = replace(tmpString, "[/i]", "</i>");
        tmpString = replace(tmpString, "[u]", "<u>");
        tmpString = replace(tmpString, "[/u]", "</u>");
        tmpString = replace(tmpString, "[url[", "<a href='");
        tmpString = replace(tmpString, "]target[", "' target='");
        tmpString = replace(tmpString, "[/url]", "</a>");
        tmpString = replace(tmpString, "[img]", "<img src='");
        tmpString = replace(tmpString, "[/img]", "'>");
        tmpString = replace(tmpString, "[align[", "<p align='");
        tmpString = replace(tmpString, "[/align]", "</p>");
        tmpString = replace(tmpString, "[size[", "<font size='");
        tmpString = replace(tmpString, "[/size]", "</font>");
        tmpString = replace(tmpString, "[font[", "<font face='");
        tmpString = replace(tmpString, "[/font]", "</font>");
        tmpString = replace(tmpString, "[list]", "<ul>");
        tmpString = replace(tmpString, "[nbrlist]", "<ol>");
        tmpString = replace(tmpString, "[*]", "<li>");
        tmpString = replace(tmpString, "[/*]", "</li>");
        tmpString = replace(tmpString, "[/nbrlist]", "<ol>");
        tmpString = replace(tmpString, "[/list]", "<ul>");
        tmpString = replace(tmpString, "[quote]", "\"<i>");
        tmpString = replace(tmpString, "[/quote]", "</i>\"");
        tmpString = replace(tmpString, "[color[", "<font color='");
        tmpString = replace(tmpString, "[/color]", "</font>");
        return tmpString;
    }
}

Qu'est-ce qui fait qu'il refuse l'affichage "normal" du tableau, je pige pas trop... ??!

jeudi 12 juin 2008 à 15:31:56 | Re : afficher plusieurs colonnes issues d'un xml

dj_ouf

Flash n'est pas censé afficher des tableau html non ?

regarde par ici :http://wiki.mediabox.fr/tutoriaux/flash/html_textfield

Il gère à peu près uniquement les balises de mise en forme de texte, pas de mise en page.

La solution pour ton cas est de pré-créer les champs textes sur ta scène, constituant ton tableau final.

jeudi 12 juin 2008 à 15:53:56 | Re : afficher plusieurs colonnes issues d'un xml

vegetalain

Mais alors pourquoi est-ce qu'il affiche bien les deux premières colonnes, et la troisième d'ailleurs... je pige pas...
Et par "pré-créer des champs", ça ne serait pas super dynamique nan... ... hm, je c pas, si les champs existes, genre "10", et que je charge 11 lignes, ça se passe comment?...

jeudi 12 juin 2008 à 16:03:16 | Re : afficher plusieurs colonnes issues d'un xml

dj_ouf

"Mais alors pourquoi est-ce qu'il affiche bien les deux premières colonnes, et la troisième d'ailleurs"
- Désolé, je ne vois pas trop comment tu as procédé car dans le code que tu as filé, on fait seulement un trace()du résultat à la fin.

"Et par "pré-créer des champs", ça ne serait pas super dynamique nan"
- Effectivement, tu peux créer dynamiquement tes champs textes pour plus de flexibilité.Mais je pense qu'il faudrait revoir la structure du xml car avec celui ci ce ne serait pas pratique du tout. Genre des attributs prix="" article="",...

"hm, je c pas, si les champs existes, genre "10", et que je charge 11 lignes, ça se passe comment?..."

- Ben la dernière ligne ne sera pas affichée, il faut invoquer la propriété scroll++ du champ texte, et par conséquent un ascenseur qui avec...ou des flèches de scroll.


jeudi 12 juin 2008 à 16:05:52 | Re : afficher plusieurs colonnes issues d'un xml

dj_ouf

"_root.accueilContent.htmlText"

Autant pour moi....
Et ça t'affiche bien un tableau avec les bordures ?

jeudi 12 juin 2008 à 16:30:02 | Re : afficher plusieurs colonnes issues d'un xml

vegetalain

nan, pas de bordures. si par exemple je cherche à faire ce genre de truc :

1                    2             3                                4
Aqsdfqsdf      Bqsdf      Cqsdfqsdfqsdfsqdfd   Dqsdfqsdf


Avec 1 aligné au dessus de A, 2 au dessus de B, etc... ça marche pas, il colle les "cellules" pour chaque lignes et ne tien pas compte de la largeur de colonnes, mme avec des images dan les dites cellules, ça colle pas... et ça donne :

1234
AqsdfqsdfBqsdfCqsdfqsdfqsdfsqdfdDqsdfqsdf

Je peux mettre manuellement des esapces dans le xml mais bon, ça fait naze quand même !!!
Et pour le fait de mettre des champs "à la volée" et organiser son XML en conséquence... "comment faire ça"... le code c pas un truc qui "me parle" facilement mais là, j'ai l'impression de m'enfoncer mdr !


jeudi 12 juin 2008 à 17:17:33 | Re : afficher plusieurs colonnes issues d'un xml

dj_ouf

Ah donc c'est bien ce que je pensais! ;) Flash ne sait pas afficher de tableau html! si tes "cellules" sont collées, c'est tout simplement parce que il n'existe pas de cellules..la balise n'est pas affichée car elle est bien  reconnue en tant que balise html mais pas supportée, donc ignorée...
En même temps je suis rassuré parce que j'aurais eu l'impression de passer à côté de quelque chose...

Alors organiser tes champs textes dynamiquement afin de constituer un tableau, tu pourrais par exemple définir une balise "displayConfig"...et lister les différents champs et leurs tailles en pixels, couleurs, ect... un peu comme tu l'aurais fait avec un tableau en définissant les titres des colones sur la 1ère balise <tr><td>...</td> ect...

Après il  y a toujours une méthode bien hardcore de créer un champ texte à chaque fois que tu rencontres un nouvel attribut dans ton xml. Mais ça risque d'être galère à positionner et dimmensionner. Ca permetterait de ne pas se soucier de savoir quels champs il y a exactement. en tout d'avance.

A mon avis la 1ère solution doit être mieux.



Cette discussion est classé dans : string, replace, color, tmpstring, tmpaccueilcontent


Répondre à ce message

Sujets en rapport avec ce message

Remplacement d'un caractère dans un STRING [ par srappaille ] Bonjour,J'ai une variable de type STRING qui se compose toujours de la même manière à savoir :var = "mot1.mot2.mot3"et j'aimerais obtenir ceci ...var passage de variable string en variable number [ par done_1 ] je suis en train de taffer sur un jeu, mais c pas la le probleme...et donc apres recupération de donné sur ma base php(la pas de probleme) j'obtiens d [Flash][Sound] Son continu dans une anim flash [ par chrisisis ] Bonjour,J'ai un menu en flash avec une musique de fondLorsque je change de page, le flash se recharge et donc la musique reprend du début.[color=darkr couleur (teinte) controler par un txt, me rend fou HELP [ par lodoll ] Bonjours a tous de la par du NOOB.val g un clip nomme "clip", lol , il contient un degrade noir vers blanc et je voudrait changer la teinte du clip co Prob de loading de Variable externe pour setTransform??!!?? [ par lodoll ] hellosur ma scene g un MC nomme "clip" il contient un degradeeje souhaite modifie la teinte du clip mon fichier couleur.txt &red=0&&green=0&&blue=255& Probleme d'accent avec un maileur flash / php [ par nurophen ] Salut à tous,Voila G un gros probleme, G un maileur flash et php ... jusque là aucun souci... tout fonctionne super sauf à la récéption du message dan Changer la couleur d'un clip via un loadVariables (TXT) [ par visualight ] Bonjour,              Est-ce que qqu'un pourrait me donner un ptit coup de pouce ... En effet, j'essaye de créer un code qui fait appel à un fichier comment réinitialiser une couleur après setRGB [ par grain2cel ] * cecelle bonjour à tous les nounous qui peuvent m'aider je suis une pauvre petite nenette qui débute en action script et le nounou que j'ai ici il es Color() dans un duplicatemovieclip [ par Martino26 ] J'ai un problème avec color() j'arrive a le faire marcher avec tout sauf quand je veut appliquer une couleur sur objet créé en duplicatemovieon (press executer une fonction stockée dans une variable [ par izt00g00d ] bonjourj'ai _root.string="_root.clip._x=10" // j'ai donc un clip qui s'appel clipj'aimerais executer le contenu de stringj'ai essayé eval(_root.string


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,640 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.