我在一个表中有一个用于入围作业的字段。当用户将作业添加到候选名单时,它会添加以逗号分隔的ID。
例如:"1, 2, 3, 4, 5"
让我们说客户从他们的候选名单中删除一份工作,我需要删除该字段中的值,而不删除其他ID。
因此,如果我们删除ID 4,我需要将字段值更新为:"1, 2, 3, 5"
要添加数据,请使用当前查询:
UPDATE users SET shortlist = concat(shortlist, '".$r['jobid'].",') WHERE uid='".$row['uid']."'
我假设有一些与我上面所做的事情有关,但我无法弄明白。
非常感谢任何帮助。
答案 0 :(得分:0)
由于您在PHP中创建列表,您还可以使用PHP修改它。
$stmt = $pdo->prepare("SELECT shortlist FROM users WHERE uid = :uid");
$stmt->execute(array(':uid' => $uid));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$shortlist = explode($row['shortlist']);
$pos = array_search('4', $shortlist);
if ($pos !== false) {
unset($shortlist[$pos]);
$shortlist_str = implode($shortlist);
$stmt = $pdo->prepare("UPDATE users SET shortlist = :shortlist WHERE uid = :uid");
$stmt->execute(':uid' => $uid, ':shortlist' => $shortlist_str));
}