我有一个表单,用户在添加产品时选择类别。
当用户想要编辑产品时,我正在显示以前填充的所有值,但无法确定如何显示他选择的类别。
php(显示数据库中的类别)-这段代码运行良好,可以在下拉列表中看到所有类别
<?php
require'dbconn.php';
$subject = mysql_query("select * from categories", $link);;
while($subjectData = mysql_fetch_array($subject)){
echo $subjectData['value'];?>
<option value="<?php echo $subjectData['name'];?>"><?php echo
$subjectData['name'];?>
</option>
在编辑产品中,我想像上面那样显示所有类别,但想以我无法做到的形式显示所选类别。
editproduct.php(草稿代码)--不工作
<?php
require'dbconn.php';
$subject = mysql_query("select * from categories", $link);;
while($subjectData = mysql_fetch_array($subject)){
echo $subjectData['value'];?>
<option select="<?php echo $cat;?>"value="<?php echo $subjectData['name'];?>"><?php echo
$subjectData['name'];?>
</option>
$cat—从数据库中提取的类别值(以前选中)
2条答案
按热度按时间bvn4nwqk1#
尝试使用此代码,请使用mysqli,因为mysql已被弃用。以前选择的类别应该在while循环之前。希望有帮助
j13ufse22#
代码有两个问题:
您使用的是mysql函数,这些函数被贬低了,甚至在当前版本的php中都不存在。使用mysqli或pdo函数。
正在生成的html语法无效。
我把第一个问题留给你来改正。
对于第二个问题,下拉列表中所有未选定的选项都将不具有选定属性。只有选定的项才具有该属性。下面的代码假设变量$cat具有先前选择的值,并且每行都有一个名为“cat”的列。当$cat与“cat”列中的值匹配时,它将添加
selected='selected'
选择。