Как обнаружить поля или столбцы в базе данных mysql, которая была обновлена?

Я разрабатываю приложение, используя концепцию MVC, и я хочу поддерживать таблицу, в которой хранятся записи столбцов из разных таблиц, которые были обновлены.

это запрос в моем контроллере:

if(!$error) {
$NAME           = $_POST["NAME"];
$FNAME          = $_POST["FNAME"];
$SNAME          = $_POST["SNAME"];
$DNAME          = $_POST["DNAME"];
$DOB            = $_POST["DOB"];
$IDMARK         = $_POST["IDMARK"];
$ES1NAME        = $_POST["ES1NAME"];
$ES2NAME        = $_POST["ES2NAME"];
$LANG1          = $_POST["LANG1"];
$LANG2          = $_POST["LANG2"];
$MATHS          = $_POST["MATHS"];
$SS             = $_POST["SS"];
$SCIENCE        = $_POST["SCIENCE"];


$table = $_POST['table'];
$id = $_POST['id'];

$queryStr = mysql_query("UPDATE db_parent.$table SET NAME = '$NAME', FNAME = '$FNAME', SNAME = '$SNAME', DNAME = '$DNAME', DOB = '$DOB', IDMARK = '$IDMARK', ES1NAME = '$ES1NAME', ES2NAME = '$ES2NAME', LANG1 = '$LANG1', LANG2 = $LANG2, MATHS = '$MATHS', SS = '$SS', SCIENCE = '$SCIENCE'  WHERE ID = '$id'") or die(mysql_error());

$queryUpdate= mysql_fetch_array($queryStr);

sys_url::redirect(sys_url::site("Department/childDepartment/Update?id=$id&table=$table"));

return;
}

Это форма:

<form id = "form" name = "myForm" method = "POST" onsubmit = "" action = "<?= sys_url::site('Department/childDepartment/Update?id='.$_GET['id'].'&table='.$_GET['table'])?>" >
<div class="row" >
<input type = "hidden" name = "id" value = "<?= $_GET['id']; ?>" >
<input type = "hidden" name = "table" value = "<?= $_GET['table']; ?>" >
<div class="col-lg-2 col-xs-12 col-sm-6" >
<label align = "left" > Name :</label >
<div class="form-group" >
<input class="form-control" name = "NAME" value = "<?= $student['NAME'] ?>" >
</div >
</div >
<div class="col-lg-2 col-xs-12 col-sm-6" >
<label align = "left" > Father's Name :</label>
<div class="form-group">
<input class="form-control" name="FNAME" value="<?= $student['FNAME'] ?>" >
</div>
</div>
.
.
.
.
<div class="col-lg-2 col-xs-12 col-sm-4 pull-right">
<div class="form-group">
<button type="submit" value="1" name="search" class="btn btn-primary">UPDATE</button>
</div>
</div>
</div>
</form>

Форма будет редактировать и обновлять поля. У меня есть еще одна таблица обновлений, которую я хотел бы записать, какие столбцы из каких таблиц были обновлены. Я не хочу вести записи целых строк, так как это позже перенасыщет базу данных. Как мне это сделать? Я где-то читал о триггерах и column_update (), но я не уверен, правильно ли я понял. Спасибо за всю поддержку.

-1

Решение

спасибо за все ваши ответы … в любом случае, я получил решение проблемы.

Я использовал массив для хранения старых данных из базы данных, вызвав запрос SELECT перед выполнением запроса UPDATE. И затем новые данные, поступающие из формы, сравниваются со старыми данными в массиве один за другим, используя цикл foreach. Если входящие данные совпадают с существующими, то они пропускаются. если нет, то я использую другой запрос на обновление, чтобы обновить таблицу новыми данными.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector