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

Php 两个下拉菜单,仅显示一个,php,html,Php,Html,我有两个函数,它们都基于Mysqli输入创建下拉菜单 每个都很好,但当我从不同的页面这样称呼他们时: populerOevelserdropdown(); populerAntalreps(); 仅显示一个(第一个-第二个显示在View source中) 但是,如果我这样打电话: populerOevelserdropdown(); populerOevelserdropdown(); populerAntalreps(); 其中一个显示正确(当我查看源代码时,第三个仍然显示) 我确信这与标

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

每个都很好,但当我从不同的页面这样称呼他们时:

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(); 
}
require_once'forbindtilDB.php';
函数popureRovelSerDropdown()
{
全球$mysqliOOP;
$stmt=$mysqliOOP->prepare(“通过Primer ASC从oevelser订单中选择不同的Primer”);
?>
Vælgønskedeøvelse(右)

您没有正确关闭
选择
框。即使您正在使用未关闭的
标记。请按如下方式更改代码

<?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 } ?>

Vælgønskedeøvelse(右)

您应该从函数中提取html和正文标记。。。 像这样:

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>     
函数popureRovelSerDropdown()
{
全球$mysqliOOP;
$stmt=$mysqliOOP->prepare(“通过Primer ASC从oevelser订单中选择不同的Primer”);
?>
Vælgønskedeøvelse(右)

我认为您没有关闭选择框。只需在
$stmt->close()之后

就可以打印html,正文两次。请考虑一种方法,只打印一次,效果很好,感谢Ram-并且您成功地摆脱了所有(目前令人讨厌的)html:)