使用PHP从数组填充和创建两个下拉列表

时间:2012-03-02 09:34:45

标签: php arrays drop-down-menu

我在尝试创建两个下拉列表时遇到一个奇怪的问题,其中值从两个不同的数组加载。问题是我只能看到一个下拉列表,在列表末尾我看到下一个下拉列表的标签,最后它也没有显示我在下拉列表后创建的任何提交按钮。

让我用一些代码和截图清楚地说明,以便人们可以有一个想法:

if($output_form == 1){
    ?>

        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
        <label>ID</label>
            <input type="text" name="ID" /><br /><br/>
        <label>Name</label>
            <input type="text" name="name" /><br /><br/>
        <label>Upload1:</label>
            <input type="file"  name="upload1" /><br />  
        <label>Upload2:</label>
            <input type="file"  name="upload2" /><br />               

        <label>Catalogue</label>
        <select name="cataloguepdfs" />
        <?php        
            foreach ($catalogueArray as $cataloguePDFName) {    
                echo '<option value="'. $cataloguePDFName . '">' . $cataloguePDFName . '<option />';                     
            }                                       
        ?>  
        <label>Template</label>
        <select name="templatepdfs" />
        <?php
            foreach ($templateArray as $templatePDFName) {    
                echo '<option value="'. $templatePDFName . '">' . $templatePDFName . '<option />';                     
            }
        ?>       
        <input type="submit" name="submit" value="Submit">
    </body>
</html>
<?php
    }
?>   

以下是上述代码的屏幕截图。请注意,我的其余代码工作正常,从相应的数组中获取.pdf文件名。请注意,我的pdf名为1.pdf,2.pdf,依此类推

Image 1

另一方面,如果我将模板下拉列表移到目录下拉列表上方,那么另一方面,“目录”作为下拉列表中的结束元素。

如果只有下拉列表,一切正常,包括提交按钮的存在。

有没有办法在从各个数组中填充下拉列表之后显示这两个下拉列表。我的代码有问题吗?任何帮助将不胜感激。

由于

2 个答案:

答案 0 :(得分:0)

您需要关闭选择后选项

<select name="cataloguepdfs">
        <?php        
            foreach ($catalogueArray as $cataloguePDFName) {    
                echo '<option value="'. $cataloguePDFName . '">' . $cataloguePDFName . '<option />';                     
            }                                       
        ?>  
</select>

答案 1 :(得分:0)

您必须在选项后关闭代码。 像这样的东西

<label>Catalogue</label>
    <select name="cataloguepdfs">
    <?php        
        foreach ($catalogueArray as $cataloguePDFName) {    
            echo '<option value="'. $cataloguePDFName . '">' . $cataloguePDFName . '<option />';                     
        }                                       
    ?> 
    </select>
    <label>Template</label>
    <select name="templatepdfs">
    <?php
        foreach ($templateArray as $templatePDFName) {    
            echo '<option value="'. $templatePDFName . '">' . $templatePDFName . '<option />';                     
        }
    ?>
    </select>