我有2张桌子。
联系和投诉。
联系人有3列:
contact_id, contact_name, score
投诉有4栏:
complaint_id, contact_id, score_deduction, complaint_type
我可以从上一页获得价值$_GET['complaint_id']
。
我要做的是删除具有该特定complaint_id的记录并获取complaints.score_deduction的值并将其添加回contacts.score。
我花了好几个小时,似乎无法弄明白。
请帮忙。
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;
}
答案 0 :(得分: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 = ?