0

我有 2 张桌子。

联系方式和投诉。

联系人有 3 列:

contact_id, contact_name, score

投诉有 4 列:

complaint_id, contact_id, score_deduction, complaint_type

我能够$_GET['complaint_id']从上一页获得价值。

我想要做的是删除具有该特定投诉 ID 的记录并获取投诉分数扣除的值并将其添加回联系人分数。

我已经花了几个小时,似乎无法弄清楚。

请帮忙。

if (isset($_GET['complaint_id'])) {
record_set('complaints',"SELECT * FROM add_complaints WHERE complaint_id = ".$_GET['complaint_id']."");
$contact_id = $row_complaints['contact_id'];
record_set('contact',"SELECT * FROM contacts WHERE contact_id = $contact_id");
$score = $row_contact['contact_score'];
echo $score;

}
4

1 回答 1

0

您可以将其组合成一个查询。

SELECT * FROM add_complaints AS ac
INNER JOIN contacts AS c on ac.contact_id = c.contact_id
WHERE ac.complaint_id = ?

我不熟悉您用来进行数据库查询的任何内容。但我假设您会知道如何获取联系人 ID、当前分数和扣分值。并从那里进行更新查询和删除查询。

如果您想变得更花哨,只需在适当的位置更新联系人记录,而无需选择您也可以做的任何事情:

UPDATE add_complaints AS ac
INNER JOIN contacts AS c on ac.contact_id = c.contact_id
SET c.score = c.score - ac.score_deduction
WHERE ac.complaint_id = ?

然后删除投诉

DELETE FROM add_complaints WHERE complaint_id = ?
于 2012-09-11T21:31:06.610 回答