显示从数据库中选择的值

mcvgt66p  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(369)

我有一个表单,用户在添加产品时选择类别。
当用户想要编辑产品时,我正在显示以前填充的所有值,但无法确定如何显示他选择的类别。
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—从数据库中提取的类别值(以前选中)

bvn4nwqk

bvn4nwqk1#

require'dbconn.php';
    $subject = mysql_query("select * from categories", $link);;
   <option value="<?php echo $cat;?>"><?php echo $cat;?></option>
    while($subjectData = mysql_fetch_array($subject)){ 
    echo $subjectData['value'];?>
   <?php if($cat!=$subjectData['name']){?> <option value="<? 
  php echo $subjectData['name'];?>"><?php echo 
  $subjectData['name'];?>
   </option>
 <?php } ?>

尝试使用此代码,请使用mysqli,因为mysql已被弃用。以前选择的类别应该在while循环之前。希望有帮助

j13ufse2

j13ufse22#

代码有两个问题:
您使用的是mysql函数,这些函数被贬低了,甚至在当前版本的php中都不存在。使用mysqli或pdo函数。
正在生成的html语法无效。
我把第一个问题留给你来改正。
对于第二个问题,下拉列表中所有未选定的选项都将不具有选定属性。只有选定的项才具有该属性。下面的代码假设变量$cat具有先前选择的值,并且每行都有一个名为“cat”的列。当$cat与“cat”列中的值匹配时,它将添加 selected='selected' 选择。

<?php                                                                
require 'dbconn.php';
$subject = mysql_query("select * from categories", $link);;
while($subjectData = mysql_fetch_array($subject)){ 
    echo $subjectData['value'];
    $selected = "";
    if($cat == $subjectData['cat']) {
        $selected = "selected='selected' ";
    }
    echo "<option ".$selected."value=".$subjectData['name'].">";
    echo $subjectData['name'];
    echo "</option>\n";
}
?>

相关问题