Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1020 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  [RESOLU][XSL]Creer un variable pour mettre un width="" pour un table

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU][XSL]Creer un variable pour mettre un width="" pour un table

n°1064290
Devil6662
Posté le 28-04-2005 à 14:36:54  profilanswer
 

Bonjour a tous je voudrais savoir comment je peux créer une variable qui contiendrai un width="71"  par exemple?
 
Est ce que ceci est bon ??

Code :
  1. $var= " width='"71"' "


 
Et dans mon table comment est ce que je fais pour atteindre ma variable??
 

Code :
  1. <table $var>

???
 
Merci a tous pour votre aide.  :jap:


Message édité par Devil6662 le 28-04-2005 à 16:40:09
mood
Publicité
Posté le 28-04-2005 à 14:36:54  profilanswer
 

n°1064292
FlorentG
Unité de Masse
Posté le 28-04-2005 à 14:37:45  profilanswer
 

Euh... $var machin c'est du PHP, non ? :heink:

n°1064299
Devil6662
Posté le 28-04-2005 à 14:40:02  profilanswer
 

oui c aussi du PHP, mais je ne sais pas comment sa fonctionne sous XSL, donc en gros c'était juste une supposition  :(

n°1064301
FlorentG
Unité de Masse
Posté le 28-04-2005 à 14:40:51  profilanswer
 

Poste un peu plus de code :( Parce que là t'as rien filé, et on sait pas ce que t'as fait

n°1064315
frenchkiss
Posté le 28-04-2005 à 14:48:27  profilanswer
 

un truc comme ca?

Code :
  1. <xsl:variable name="width">71</xsl:variable>
  2. <table toto="{$width}" >

n°1064317
frenchkiss
Posté le 28-04-2005 à 14:49:21  profilanswer
 

le {}  remplace le xsl:value-of en fait...

n°1064318
Devil6662
Posté le 28-04-2005 à 14:49:32  profilanswer
 

Code :
  1. <table class="bttn" cellpadding="0" cellspacing="0">
  2. <tr>
  3. <xsl:for-each select="row">
  4.   <td>
  5.     <table  ID="reporting" class="bttn" cellpadding="0" cellspacing="0" onMouseOver="buttonOver(this);" onMouseOut="buttonOut(this);" onMouseDown="buttonDown(this);" onMouseUp="buttonUp(this);" onClick="buttonClick(this);">
  6.           <tr>
  7.           <td class="bttn_left_out"><table class="bttn" cellspacing="0" width="12"><tr><td></td></tr></table></td>
  8.           <td class="bttn_center_out"><A HREF="javascript:TwoFrames('menufct?moduleId={col[1]}','fct','#','main');"><xsl:value-of select="col[2]"/></A></td>
  9.           <td class="bttn_right_out"><table class="bttn" cellspacing="0"   width="12"><tr><td></td></tr></table></td>
  10.           </tr>
  11.          </table>
  12.       </td>
  13.    </xsl:for-each>
  14.   </tr>
  15. </table>


 
En gros je boucle avec le for-each et j'affiche des boutons grâce a cette boucle, et ce que je veux, se serai faire en plus avant sa un if pour savoir si row/col[1] = 1 alors width="76", si row/col[n]= n alors width="56",... et comme sa je vais pouvoir spécifier la bonne taille a mes boutons dans le for-each.
 
J'espère avoir été plus clair, merci a toiFlorentG :jap:

n°1064320
FlorentG
Unité de Masse
Posté le 28-04-2005 à 14:51:44  profilanswer
 

Avec un <xsl:if, c'est tout con

n°1064326
frenchkiss
Posté le 28-04-2005 à 14:52:42  profilanswer
 

+1

n°1064332
Devil6662
Posté le 28-04-2005 à 14:56:17  profilanswer
 

Je vais tester tout sa je vous dis quoi d'ici quelques minutes ;)  
 
Et merci déjà a tous les deux  :hello:

mood
Publicité
Posté le 28-04-2005 à 14:56:17  profilanswer
 

n°1064349
Devil6662
Posté le 28-04-2005 à 15:09:18  profilanswer
 

Code :
  1. <xsl:for-each select="row/col[1]">
  2. <xsl:if test="1">
  3. <xsl:variable name="width">71</xsl:variable>
  4. </xsl:if>
  5. </xsl:for-each>
  6. <center>
  7. <table class="bttn" cellpadding="0" cellspacing="0">
  8. <tr>
  9. <xsl:for-each select="row">
  10. <td>
  11. <table toto="{$width}" ID="reporting" class="bttn" cellpadding="0" cellspacing="0" onMouseOver="buttonOver(this);" onMouseOut="buttonOut(this);" onMouseDown="buttonDown(this);" onMouseUp="buttonUp(this);" onClick="buttonClick(this);">
  12. <tr>
  13. <td class="bttn_left_out"><table class="bttn" cellspacing="0" width="12"><tr><td></td></tr></table></td>
  14. <td class="bttn_center_out"><A HREF="javascript:TwoFrames('menufct?moduleId={col[1]}','fct','#','main');"><xsl:value-of select="col[2]"/></A></td>
  15. <td class="bttn_right_out"><table class="bttn" cellspacing="0" width="12"><tr><td></td></tr></table></td>
  16. </tr>
  17. </table>
  18. </td>
  19. </xsl:for-each>
  20. </tr>
  21. </table>


 
Voilà ce que j'ai fait, et sa me retourne l'erreur suivante

Citation :

A reference to variable or parameter 'width' cannot be resolved. The variable or parameter may not be defined, or it may not be in scope


 
Voilà, donc à mon avis il y à un prob avec le width dans le <table> mais je ne sais pas quoi. :(  
 
Merci a vous

n°1064370
frenchkiss
Posté le 28-04-2005 à 15:21:18  profilanswer
 

bon t as 2 problemes. deja tu sais pas tres bien te servir du if ,  
et ensuite pour ton cas je suis pas sur que ca soit tres utile..
 
pour ton premier probleme tout ce que tu declare dans le if est detruit quand tu en sort.
pour le second je pense que tu comprendra vite via le premier indice.
 
 
--edit modif en bold ---


Message édité par frenchkiss le 28-04-2005 à 15:23:52
n°1064390
Devil6662
Posté le 28-04-2005 à 15:30:43  profilanswer
 

Bon voilà maintenant j'ai fermé mon if et mon for-each après le <table> Globale. Donc maintenant sa fonctionne
Mais par contre mon bouton ne s'affiche pas, à mon avis le problème vient encor du toto="{$width}"??

n°1064412
frenchkiss
Posté le 28-04-2005 à 15:38:18  profilanswer
 

? bah c'est normal.
tu dis au mecanicien: si tu est a la colonne 1  
 fais ce que je te dis ( desinne mon tableau..)
mais tu lui dis pas quoi faire d'autre (aux autres colonnes..)
et puis regarde aussi tes for-each... t en a 1 en trop.
p

n°1064420
frenchkiss
Posté le 28-04-2005 à 15:42:37  profilanswer
 

Code :
  1. <center>
  2. <table class="bttn" cellpadding="0" cellspacing="0">
  3. <tr>
  4. <xsl:for-each select="row">
  5. <td>
  6. <xsl:choose>
  7.     <xsl:when test="row = 0">
  8. <!--colonne 0 -->
  9.  <table toto="10" ID="reporting" class="bttn" cellpadding="0" cellspacing="0" onMouseOver="buttonOver(this);" onMouseOut="buttonOut(this);" onMouseDown="buttonDown(this);" onMouseUp="buttonUp(this);" onClick="buttonClick(this);">
  10. </xsl:when>
  11. <xsl:otherwise>
  12. <! pas colonne 0 ... -->
  13.  <table toto="56" ID="reporting" class="bttn" cellpadding="0" cellspacing="0" onMouseOver="buttonOver(this);" onMouseOut="buttonOut(this);" onMouseDown="buttonDown(this);" onMouseUp="buttonUp(this);" onClick="buttonClick(this);">
  14. </xsl:otherwise>
  15. </xsl:choose>
  16. <tr>
  17. <td class="bttn_left_out"><table class="bttn" cellspacing="0" width="12"><tr><td></td></tr></table></td>
  18. <td class="bttn_center_out"><A HREF="javascript:TwoFrames('menufct?moduleId={col[1]}','fct','#','main');"><xsl:value-of select="col[2]"/></A></td>
  19. <td class="bttn_right_out"><table class="bttn" cellspacing="0" width="12"><tr><td></td></tr></table></td>
  20. </tr>
  21. </table>
  22. </td>
  23. </xsl:for-each>
  24. </tr>
  25. </table>


 
par exemple

n°1064429
Devil6662
Posté le 28-04-2005 à 15:47:37  profilanswer
 

est ce qu'on peu faire ceci :

Code :
  1. ...
  2.    </xsl:when>
  3. <xsl:otherwise>
  4.    <xsl:when>
  5.    </xsl:when> 
  6. </xsl:otherwise>
  7. <xsl:otherwise>
  8.    <xsl:when>
  9. ...


Car en gros j'ai 13 boutons a afficher et ce avec des tailles différentes pour chaque.
 
Mais déjà un tout grand merci a toi, j'ai enlevé mon for-each en trop et pour mon 1er bouton sa fonctionne.  :jap:


Message édité par Devil6662 le 28-04-2005 à 15:48:27
n°1064435
frenchkiss
Posté le 28-04-2005 à 15:50:47  profilanswer
 

non pas exactement
tu met autant de when que tu veux
et ca finin pas un otherwise..
 
donc

Code :
  1. <xsl:for-each select = "trucmuch">
  2.   <xsl:choose>
  3.        <xsl:when test="@a = 0">
  4.          aa = 0
  5.       </xsl:when>
  6.       <xsl:when test="@a = 1">
  7.          aa = 1
  8.       </xsl:when>
  9.    <xsl:otherwise>
  10.     aa pas egal a 0 ni a 1
  11.    </xsl:otherwise>
  12.   </xsl:choose>
  13.   </xsl:for-each>


 
a ce moment la je teconseille d'apeller un template en lui passant en parametre la taille du bouton ca sera plus propre.
et au moins t apprendra a te servir des varaibles .. ;)

n°1064527
Devil6662
Posté le 28-04-2005 à 16:30:15  profilanswer
 

Merci a toi sa fonctionne maintenant. :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  [RESOLU][XSL]Creer un variable pour mettre un width="" pour un table

 

Sujets relatifs
Insérer le contenu d'un fichier TXT dans une table...pb variable et hyperlien
Mettre "subject" dans "mailto", conforme W3C ?[C] Multiplication de polynômes. Ce code est-il OK ? [Résolu]
[JAVA] Petit problème de centrage [résolu]Variable d'environnement
Créer un objet COM en delphimettre un script comme sur ce site......
[Résolu] Envoie d'un mail en PHP[RESOLU][XSL/JavaScript]problème d'intégration code JS dans le XSL
Plus de sujets relatifs à : [RESOLU][XSL]Creer un variable pour mettre un width="" pour un table


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR