我正在制作一个包含数据库中信息的下拉菜单。它必须在我的下拉列表中获取不同的品牌,并且在选择品牌并提交搜索时,它将显示有关该品牌的信息。它从数据库中获取正确的品牌,但提交后它只显示我的最后一个品牌。有人可以帮帮我...这是我的下拉菜单和搜索(提交)代码:
<div class="bandwielkolom">
<form action="index.php?lang=nl&p=<?php echo $_GET['p']; ?>#keuze" method="post">
<table class="bandentabel">
<tr>
<th colspan="2">Op merk zoeken<a name="band"></a></th>
</tr>
<tr>
<td>Merk:</td>
<td>
<select name="band_merk">
<option value="0">- Merk -</option>
<?php
$wielen = $wielclass->getMerkenWielen($website);
foreach($wielen as $wiel)
{
echo "\t\t\t\t\t\t\t\t\t\t\t<option value=\"".$wiel->merk_code."\"";
if(isset($_GET['search']) && $_GET['search'] == "band" && isset($_GET['wiel']) && $_GET['wiel'] == $wiel->merk_code || isset($_POST['band_submit']) && $_POST['band_merk'] == $wiel->merk_code) { echo " selected=\"selected\""; }
echo ">".$wiel->merk_naam."</option>\n";
}
?>
</select>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="band_submit" value="Zoek"/></td>
</tr>
</table>
</form>
</div>
这是我的课:
班级:
<?php
class wielen extends connect {
private $wielenlijst;
public function getMerkenWielen($database) {
$sql = "SELECT * FROM ".$database."_wielen ORDER BY merk_nummer";
try {
$stmt = $this->db->prepare($sql);
$stmt->execute();
$this->wielenlijst = $stmt->fetchAll(PDO::FETCH_OBJ);
$stmt->closeCursor();
return $this->wielenlijst;
}
catch (Exception $e) {
die ($e->getMessage());
}
}
public function __construct($dbo) {
parent::__construct($dbo);
}
}
?>
这仅显示提交后的最后一个品牌:
<?php
if(isset($_POST['band_submit']))
echo $wiel->merk_naam;
?>
有人可以帮我解决这个问题,因为我无法让它工作
也许重新审视它会有所帮助
谢谢任何帮助
更新:
我现在得到了这种平静的代码,我将解释发生了什么以及我想要什么:
<div class="bandwielkolom">
<form action="index.php?lang=nl&p=<?php echo $_GET['p']; ?>#keuze" method="post">
<table class="bandentabel">
<tr>
<th colspan="2">Op merk zoeken<a name="band"></a></th>
</tr>
<tr>
<td>Merk:</td>
<td>
<select name="band_merk">
<option value="0">- Merk -</option>
<?php
$wielen = $wielclass->getMerkenWielen($website);
$get_wiel = isset($_GET['wiel']) ? $_GET['wiel'] : '';
$post_wiel = isset($_POST['band_merk']) ? $_POST['band_merk'] : '';
foreach($wielen as $wiel) {
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$selected = $post_wiel['wiel'] === $wiel->merk_code ? ' selected="selected"' : '' ;
}
else {
$selected = $get_wiel['wiel'] === $wiel->merk_code ? ' selected="selected"' : '' ;
}
echo '\t\t\t\t\t\t\t\t\t\t\t<option value="' . $wiel->merk_code . '"' . $selected . '>' . $wiel->merk_naam . '</option>';
}
?>
</select>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="band_submit" value="Zoek"/></td>
</tr>
</table>
</form>
</div>
<?php
if(isset($_POST['band_submit']) && $_POST['band_merk'] == $wiel->merk_code)
echo $wiel->merk_naam;
?>
进程代码:
if(isset($_POST['band_submit']) && $_POST['band_merk'] == $wiel->merk_code)
echo $wiel->merk_naam;
我从我的数据库中得到一个带有四个选项的选择框,所以它工作正常。这些选项中包含图片和文本等数据。当我选择一个并按下提交时,他必须显示所选选项的信息,并且应该保持选中状态。
现在发生的事情是,当我选择一个选项并按下提交时,什么也没有发生......按钮正在工作,但我没有得到所选选项的任何输出,它不会保持选中状态。
做错了什么,但我不知道是什么
欢迎任何帮助:)