PHP - 如何在这种情况下使用str_replace?

时间:2014-04-27 15:27:47

标签: php

我的表中有一个名为Status的列,此列的可能值为1或0,1表示该行已激活,0表示该行已禁用。

但在我的后台内部,我有一个html表来编辑这个表中的所有值。

要编辑值,管理员只需选择一些行(我使用复选框),然后单击按钮进行编辑。

enter image description here

这个按钮将显示一个新的html表,在这个html表中,我将我在数据库表中的所有值插入到文本框中进行更改和编辑。

问题是我需要显示当前的Status列值,例如:

状态已激活,状态值为1。

该值将如下所示:

enter image description here

要改变这一点,我使用了str_replace

if ($val['status'] == '1'){

$val['status'] = str_replace("1","Active","1");

}else{

$val['status'] = str_replace("0","Disable","0");

}

但是当我提交str_replace更改值,并发送到我的数据库Active而不是1,或者禁用而不是0。

我正在使用选择框来选择状态是否必须处于活动状态或已禁用

  <select name='u_status[".$val['id']."]' class='txtedit'>
  <option value=".$val['status']." style='display:none;'>".$val['status']."</option>
  <option value='1'>Active</option>
  <option value='0'>Disabled</option>
  </select>

谢谢。

2 个答案:

答案 0 :(得分:0)

不要使用str_replace。这只是一个布尔值。

$val['status'] = ($val['status'] == '1' ? 'Active' : 'Disabled');

甚至:

if ($val['status'] == '1') {
    $val['status'] = 'Active';
} else {
    $val['status'] = 'Disabled';
}

答案 1 :(得分:0)

创建一个包含状态的数组:

$status = array(
    'Disabled',
    'Enabled'
);

然后使用$val['status']作为键从该数组中获取所需的值:

<option value=".$val['status']." style='display:none;'>".$status[$val['status']]."</option>