两个下拉菜单,只显示一个

时间:2014-10-01 09:49:27

标签: php html

我有两个函数都创建了一个基于Mysqli输入的下拉菜单。

每件作品都是自己好的,但是当我从这样的不同页面打电话给他们时:

populerOevelserdropdown();
populerAntalreps();

只显示一个(第一个 - 第二个显示在View源中)

如果我这样打电话,那么:

populerOevelserdropdown();
populerOevelserdropdown();
populerAntalreps();

其中一个正确显示(第三个在我查看来源时仍然显示)

我确定它与标签不匹配(html,表格等)有关,但我似乎无法正确排列它们......

希望你们能提供帮助 - 以下是两个功能:

require_once 'forbindtilDB.php';

function populerOevelserdropdown()
{
    global $mysqliOOP;
    $stmt = $mysqliOOP->prepare("SELECT DISTINCT primaer FROM oevelser ORDER BY primaer ASC");

   ?>
   <html>
<body>
<form>
    <select multiple> 
    <option value="0">Vælg ønskede øvelse(r)</option>
        <?php
            $stmt->execute();
            $stmt->bind_result($primaereMuskelgruppe);
            while ($stmt->fetch())
            {
        ?>
            <option value = "<?php echo $primaereMuskelgruppe;?>" >
                <?php echo $primaereMuskelgruppe;
                ?>
            </option>
            <?php
            }  
            $stmt->close(); 
}
function populerAntalreps()
{
    global $mysqliOOP;
    $stmt = $mysqliOOP->prepare("SELECT antalreps FROM antalreps ORDER BY antalreps ASC");

   ?>
   <html>
<body>
<form>
    <select> 
    <option value="0">Vælg ønskede antal gentagelser</option>
        <?php
            $stmt->execute();
            $stmt->bind_result($antalreps);
            while ($stmt->fetch())
            {
        ?>
            <option value = "<?php echo $antalreps;?>" >
                <?php echo $antalreps;
                ?>
            </option>
            <?php
            }  
            $stmt->close(); 
}

3 个答案:

答案 0 :(得分:0)

您没有正确关闭select框。即使您使用的是未关闭的<html> <body> <form>标记。像这样改变你的代码

<?php
    function populerOevelserdropdown()
    {
        global $mysqliOOP;
        $stmt = $mysqliOOP->prepare("SELECT DISTINCT primaer FROM oevelser ORDER BY primaer ASC");

       ?>

    <select multiple> 
    <option value="0">Vælg ønskede øvelse(r)</option>
        <?php
            $stmt->execute();
            $stmt->bind_result($primaereMuskelgruppe);
            while ($stmt->fetch())
            {
        ?>
            <option value = "<?php echo $primaereMuskelgruppe;?>" >
                <?php echo $primaereMuskelgruppe;
                ?>
            </option>
            <?php
            }  
            $stmt->close();
            ?>              
    </select>
<?php       
}

function populerAntalreps()
{
    global $mysqliOOP;
    $stmt = $mysqliOOP->prepare("SELECT antalreps FROM antalreps ORDER BY antalreps ASC");

   ?>
    <select> 
    <option value="0">Vælg ønskede antal gentagelser</option>
        <?php
            $stmt->execute();
            $stmt->bind_result($antalreps);
            while ($stmt->fetch())
            {
        ?>
            <option value = "<?php echo $antalreps;?>" >
                <?php echo $antalreps;
                ?>
            </option>
            <?php
            }  
            $stmt->close();
        ?>      
    </select>       
<?php } ?>

答案 1 :(得分:0)

你应该从你的函数中提取html和body标记...... 像这样:

function populerOevelserdropdown()
{
    global $mysqliOOP;
    $stmt = $mysqliOOP->prepare("SELECT DISTINCT primaer FROM oevelser ORDER BY primaer ASC");

   ?>

<form>
    <select multiple> 
    <option value="0">Vælg ønskede øvelse(r)</option>
        <?php
            $stmt->execute();
            $stmt->bind_result($primaereMuskelgruppe);
            while ($stmt->fetch())
            {
        ?>
            <option value = "<?php echo $primaereMuskelgruppe;?>" >
                <?php echo $primaereMuskelgruppe;
                ?>
            </option>
            <?php
            }  
            $stmt->close(); 
}
function populerAntalreps()
{
    global $mysqliOOP;
    $stmt = $mysqliOOP->prepare("SELECT antalreps FROM antalreps ORDER BY antalreps ASC");

   ?>
   <html>
<body>
<form>
    <select> 
    <option value="0">Vælg ønskede antal gentagelser</option>
        <?php
            $stmt->execute();
            $stmt->bind_result($antalreps);
            while ($stmt->fetch())
            {
        ?>
            <option value = "<?php echo $antalreps;?>" >
                <?php echo $antalreps;
                ?>
            </option>
            <?php
            }  
            $stmt->close(); 
}
?>
<html>
    <body>
<?
    populerOevelserdropdown();
    populerOevelserdropdown();
    populerAntalreps();
?>
    </body>
</html>     

答案 2 :(得分:0)

我认为你错过了关闭你的选择框。 </select>

之后只需$stmt->close();
相关问题