我有两个函数都创建了一个基于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();
}
答案 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();