当用户编辑他们的帐户时,我想显示一个确认页面,其中显示他们更新的信息以及他们以粗体更改的字段。是否有一个mysql语句允许您选择用户更改的字段?如果没有,我究竟能实现这个目标
例如:
(editaccount.php)
first_name: bob
last_name: builder
email: bobbuilder@gmail.com
当他们改变时,将他们的名字称为“詹姆斯”,即确认页面 以粗体显示他们的名字,因为他们改变了,但其他区域仍然是普通文本。
first_name: <b>James</b>
last_name: builder
email: bobbuilder@gmail.com
答案 0 :(得分:3)
我会在应用程序级别处理它,在php中。在提交更新之前,只需从数据库中提取数据,将每个字段与提交的数据进行比较,并根据自己的喜好处理每个不等式。
答案 1 :(得分:3)
您需要自己将字段与旧数据进行比较。
非常基本的例子:
$old_user_data = <fetched from db>;
$new = $_POST;
$changed = array();
foreach ($old_user_data AS $field => $value) {
if ($new[$field] != $value) {
$changed[] = $field;
}
}
print_r($changed); // array contains all fields that were changed
答案 2 :(得分:2)
我不知道MySQL是否可以告诉你哪些字段被改变了。有兴趣听听怎么样。在PHP中,您可以简单地比较更新之前和之后的信息。
// select current info, store it in $before, e.g.
// then go through the posted values
$changed = array();
foreach ($_POST as $key => $value) {
// compare new value against the previous one
if ($before[$key] != $value) {
$changed[] = $key;
}
}