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


Two dropdown menus, only one displayed

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

每个ifself都很好,但当我从不同的页面调用它们时,如下所示:

populerOevelserdropdown();
populerAntalreps();

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

然而,如果我这样打电话:

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(); 
}

您没有正确关闭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 } ?>

您应该从函数中提取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>     

我认为您错过了关闭选择框的机会。仅$stmt->close(); 之后的</select>