2011-07-19 65 views
0

我有一个使用XSL转换的XML文档。我有一个节点,重复了很多次,我把它做成单选按钮。我想在数据库中获取结果,并选中/选择相应的单选按钮值。下面是XSL代码:XSL支票/使用PHP(数据从MySQL数据库)中选择单选按钮

<xsl:for-each select="root/a/b"> 
     <input type="radio" name="{autoincrementnumber}" value="{c[1]/@value}"/> 
    <xsl:value-of select="c[1]/ctext[@value='1']"/> 
    <input type="radio" name="{autoincrementnumber}" value="{c[1]/@value}"/> 
<xsl:value-of select="c[2]/ctext[@value='2']"/> 
     </xsl:for-each> 

有迹象表明,通过建立多节点此for-each循环,所以有上百个单选按钮。我将如何使用PHP从数据库中提取,并将它选择/检查相应的单选按钮?

数据库是在一列的内爆字符串:

1,2,1,1,2,1,2,1,2,1,2,1,2,1,21,....etc 

XML文档 B = 1被选择为每个节点,所以会出现很多次。

... 

<a> 
<b value="1" > 
<c value="1">Yes</c> 
<c value="2">No</c> 
<c value="3">Maybe</c> 
</b> 
... 

FINAL RESULT:如果从数据库中拉出1,则选择单选按钮值1。如果是2,则选择单选按钮2。所检查的单选按钮都是基于在作为内爆的1.2.1.4.1.2.4.3数据库值....等

+1

你应该张贴的XML文档,以及和澄清你想选择哪个单选按钮。 'xsl:if'和'xsl:attribute'可能是你需要的。 – cordsen

+0

发布了它。有任何想法吗? – tdjfdjdj

+0

我可以选择一个php变量吗? – tdjfdjdj

回答

1

下面是工作示例属性用法和讨厌的XPath表达式。也许它会有所帮助。

<input type="checkbox" name="{@name}" value="true"> 
    <x:if test="translate($value, $uppercase, $smallcase)='true' or translate(@checked, $uppercase, $smallcase)='true'"> 
     <x:attribute name="checked">checked</x:attribute> 
    </x:if> 
</input> 

所有文件是在asyncode.com/xslt/index.xsl - 使用它作为参考。

相关问题