Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 显示从数据库中选择的值_Javascript_Php_Mysql - Fatal编程技术网

Javascript 显示从数据库中选择的值

Javascript 显示从数据库中选择的值,javascript,php,mysql,Javascript,Php,Mysql,我有一个表单,用户在添加产品时选择类别 当用户想要编辑产品时,我会显示以前填充的所有值,但无法确定如何显示他选择的类别 显示数据库中的类别的addproduct.php-此代码运行良好,可以在下拉列表中查看所有类别 <?php require'dbconn.php'; $subject = mysql_query("select * from ca

我有一个表单,用户在添加产品时选择类别

当用户想要编辑产品时,我会显示以前填充的所有值,但无法确定如何显示他选择的类别

显示数据库中的类别的addproduct.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-以前从数据库中选择的类别值

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循环之前。希望它能帮助您解决代码中的两个问题:

您使用的是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";
}
?>

请停止使用PHP不推荐的mysql\uApi警告:如果您只是在学习PHP,请不要学习过时的接口。这很糟糕,已经在PHP7中删除了。替换类和指南类有助于解释最佳实践。确保你的用户参数是正确的,否则你会有严重的后果。@tadman:是的,我是初学者。我一定会听你的建议。谢谢如果你刚刚开始这个项目,在它变得无法维护之前,有很多事情需要解决。如果这是一个遗留项目,在你出现之前就已经准备好了,我可以理解你有一些限制。谢谢你的帮助。尝试上面的代码,所选类别现在显示两次。为了让它更清楚,让我们假设我有A,B,C作为类别和用户选择的类别B,同时添加产品。在修改了上面的代码之后,下拉列表中的值是B,A,B,C。希望我解释清楚