Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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
PHP-Foreach循环-回显选定值_Php_Mysql_For Loop_Foreach - Fatal编程技术网

PHP-Foreach循环-回显选定值

PHP-Foreach循环-回显选定值,php,mysql,for-loop,foreach,Php,Mysql,For Loop,Foreach,我为员工制作了类似于积垢系统的东西 用户可以输入有关员工的信息。在“其他”下,有一个“选择”输入,其中包含来自数据库的两个选项。当我填写并提交表单时,数据就会进入数据库 但是当我想要编辑表单时,“选择”输入会得到另一个值,即使我没有在那里更改任何内容。所以我需要一些东西来从选项中回显已经输入的值 这是我用来循环类别的foreach循环: <?php $i = 0; foreach($categories as $key => $category) { ?> &l

我为员工制作了类似于积垢系统的东西

用户可以输入有关员工的信息。在“其他”下,有一个“选择”输入,其中包含来自数据库的两个选项。当我填写并提交表单时,数据就会进入数据库

但是当我想要编辑表单时,“选择”输入会得到另一个值,即使我没有在那里更改任何内容。所以我需要一些东西来从选项中回显已经输入的值

这是我用来循环类别的foreach循环:

<?php
$i = 0;
foreach($categories as $key => $category) {
    ?>
    <option value="<?php echo $category; ?>"><?php echo $category; ?></option>
    <?php
    $i++;
}
?>  

HTML
标记已选择您应使用的属性
,它指定应预先选择一个选项:

<?php
$i = 0;
$selected_category = "B"; // category value from database
foreach($categories as $key => $category) {
    $selected = ($selected_category == $category) ? "selected" : "";
?>
    <option value="<?php echo $category; ?>" <?php echo $selected; ?>>
    <?php echo $category; ?></option>
<?php
    $i++;
}
?>

HTML
标记已选择您应使用的属性
,它指定应预先选择一个选项:

<?php
$i = 0;
$selected_category = "B"; // category value from database
foreach($categories as $key => $category) {
    $selected = ($selected_category == $category) ? "selected" : "";
?>
    <option value="<?php echo $category; ?>" <?php echo $selected; ?>>
    <?php echo $category; ?></option>
<?php
    $i++;
}
?>


你有没有检查过你的数据库,看它是否正确地存储了你提交的那些精确值?@Rasika有。它工作得很好,直到我想编辑用户配置文件。然后,即使我不触摸选择输入,它也会得到一个新值。假设有4个选项(a、b、c、d),我第一次选择“b”。它被存储为“b”。稍后,当我编辑配置文件上的任何信息时,select input get的值会被“a”覆盖。那么问题一定出在“update”查询或其值中。它是如何自动更改其值的?它是否显示数据库中您编辑和更新的确切数据。可读性。。。
$categories
是来自SQL查询的数据吗?或者您正在询问如何连接到数据库并输出数据库中与该数组对应的每个类别?它很不清楚,就像你的代码一样。你用
$i++
做什么?你需要它做什么?你有没有检查过你的数据库,看它是否正确地存储了你提交的那些精确的值?@Rasika it。它工作得很好,直到我想编辑用户配置文件。然后,即使我不触摸选择输入,它也会得到一个新值。假设有4个选项(a、b、c、d),我第一次选择“b”。它被存储为“b”。稍后,当我编辑配置文件上的任何信息时,select input get的值会被“a”覆盖。那么问题一定出在“update”查询或其值中。它是如何自动更改其值的?它是否显示数据库中您编辑和更新的确切数据。可读性。。。
$categories
是来自SQL查询的数据吗?或者您正在询问如何连接到数据库并输出数据库中与该数组对应的每个类别?它很不清楚,就像你的代码一样。你用
$i++
做什么?但是我不能硬编码分类值,因为我可以将它们添加到数据库中的dinamicalcategory值-这意味着您可以从数据库/缓存中获取最后一个已知的选定值,或者以何种方式存储它@amircisijaok,我添加了$selected_category=$edit_row[“rm_cat”];。现在可以了。当我打开要编辑的配置文件时。选项值获取所选的值。非常感谢。但是我不能硬编码分类值,因为我可以从数据库中添加它们的dinamicalcategory值-这意味着您可以从数据库/缓存中获取最后一个已知的选定值,或者以存储方式@amircisijaok,我添加了$selected_category=$edit_row[“rm_cat”];。现在可以了。当我打开要编辑的配置文件时。选项值获取所选的值。非常感谢你。