Jsm*_*ith 3 php mysql forms combobox
我有一个小问题。我有一个 edit.php 页面。此页面列出了可以编辑的产品信息。
我运行一个查询
while($rows=mysql_fetch_assoc($query)){
echo"<form method=\"POST\" action=\"edit.php\">";
echo "<input type ='hidden' name='ID' value = '{$rows['ID']}'>";
echo "Product:  <input type='text' name='product' value = '{$rows['ProductName']}'>";
Run Code Online (Sandbox Code Playgroud)
在 while 循环之前,我将详细信息存储在变量中,如下所示:
$hiddenid = $_POST['ID'];
$productName = $_POST['product'];
Run Code Online (Sandbox Code Playgroud)
这有效。当我加载 php 表单时,它会显示从数据库中检索到的产品名称(在文本字段中)。但是问题是我想将产品名称存储为用户已经选择的下拉列表框,然后选择它。
所以,基本上我希望做的不是在文本框中显示数据库检索的选项,而是希望用户选择的选项显示在下拉列表框中。
我希望这是有道理的?为什么我的选项值根本没有显示,其次它们也没有显示 SELECTED 选项(从数据库中检索)。
请问有什么帮助吗?
小智 5
专注于这一领域,除非是复制错误,否则您应该会收到 PHP 错误。请注意以下更改:
while($rows=mysql_fetch_assoc($query)){
?>
<form method=\"POST\" action=\"edit.php\">
<input type ='hidden' name='ID' value = '<?php echo $rows['ID'];?>'>
<select name ="pnames">
<?php foreach ($arrayproducts as $key => $value) {
?>
<option value = "<?php echo $key; ?>"
<?php
if ($key == $productName){
echo 'selected="selected"';
}
?> >
<?php echo $value; ?>
</option>
<?php } //end foreach ?>
</select>
<?php }//end while ?>
Run Code Online (Sandbox Code Playgroud)
一开始,您在 PHP 段中有纯 HTML 代码。
另外,我相信你想要
if ($value == $productName){
Run Code Online (Sandbox Code Playgroud)