xsl使用php检查/选中单选按钮(来自mysql数据库的数据)

时间:2011-07-19 13:54:03

标签: php mysql xml forms xslt

我有一个使用XSL转换的xml文档。我有一个节点重复多次我制作单选按钮。我想在数据库中获取结果,并检查/选择相应的单选按钮值。这是XSL代码:

    <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>
...

最终结果:如果从数据库中拉出1,则选择单选按钮值1。如果为2,则选择单选按钮2。选中的单选按钮都基于数据库中的内容为1.2.1.4.1.2.4.3 .... etc

1 个答案:

答案 0 :(得分: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 - 将其用作参考。