如果存在于MySql中,则替换为另一列

时间:2015-02-16 07:36:12

标签: php mysql html-table

我有一个包含Mysql值的HTML表。我的HTML表格看起来像这样

-------   ------   ------   ------
 type      name     b_id     Edit
-------   ------   ------   ------
Laptop     mac      E1:23    edit
Desktop    dell     D2:45    edit

我从输入文本框插入值以输入类型和名称。并为b_id选择一个下拉列表。 我可以点击edit修改每一行的值,我的下拉列表会显示所有b_id's

我需要更新b_id值,以便在已经存在的情况下替换为new删除旧的。

假设我在桌面 dell 行上点击了编辑。我将选择E1:23(已经为笔记本电脑mac 映射)。保存时, E1:23 应映射到桌面dell,之前的映射(laptop mac)应删除。我的意思是它应该是空的

我的查询

$id = $_REQUEST['id']; // Auto Increment
$b_id = $_REQUEST['b_id']; //b_id from select dropdown on edit
$sql = "SELECT * FROM table_name WHERE b_id='$b_id'";
$rs=parent::_executeQuery($sql);
$rs=parent::getAll($rs);
if($rs) // if b_id already exists
{
    //First empty old b_id which has mapped already
    $sql2 = "UPDATE table_name SET b_id='$b_id' WHERE id='$id'";
    $rs=parent::_executeQuery($sql);
}

那么如何清空先前映射的b_id。不是类型和名称

1 个答案:

答案 0 :(得分:1)

如果要清空b_id中的数据,您的查询应该是这样的:

if($rs) // if b_id already exists
{
    //First empty old b_id which has mapped already
    $sql2 = "UPDATE table_name SET b_id='' WHERE b_id='$b_id'";
    $rs=parent::_executeQuery($sql2);
}