2016-11-30 108 views
-1

我做了类似的员工一个污物系统。PHP - Foreach循环 - 回声选择的值

用户可以对员工输入信息。在其他情况下,有一个“选择”输入,其中有来自数据库的几个选项。当我填写表格并提交时,数据就会到达数据库。

但是,当我想编辑的形式,在“选择”输入得到另外的价值,即使我没有改变任何东西在那里。所以我需要一些东西来回应已经从选项中输入的值。

这是我的foreach循环,我使用循环类别:

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

如何获得从选择和存储在那里的数据库中的值。 感谢

+0

具有u看着你的数据库,如果它是正确存储这些精确值其中U提交? – Rasika

+0

@Rasika它呢。它运行良好,直到我想编辑用户配置文件。然后,即使我不触摸选择输入,它也会有一个新的值。假设有4个选项(a,b,c,d),第一次选择'b'。它被存储为'b'。稍后,当我编辑配置文件中的任何信息时,选择输入get的值被覆盖,让我们说'a'。 – amircisija

+0

那么问题必须出现在“更新”查询或其值中。它有可能会自动改变它的值吗?它是否显示你编辑和更新的数据库中的确切数据。 – Rasika

回答

4

HTML <option>标签具有属性selected,你应该使用,它指定了一个选项,应预先选择:

<?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++; 
} 
?> 
+0

但我不能硬编码categorie值,我可以将它们添加dinamical – amircisija

+1

*从数据库类别值* - 这意味着你从数据库/缓存拿到最后一个已知的选择的值或者不过你存储它@amircisija – KDOT

+0

好吗,我添加了$ selected_category = $ edit_row [“rm_cat”] ;.它现在有效。当我打开配置文件进行编辑时。该选项值获取选中。非常感谢。 – amircisija