Я использую jQuery jeditable, чтобы разрешить редактирование таблицы HTML на основе таблицы базы данных MySQL. Но это не проблема. Он прекрасно работает на всех столбцах, кроме одного, столбца тайм-аута. Я хочу взять часть даты столбца logdate и использовать его для построения значения тайм-аута. Новый час: минимальная часть — это то, что пользователь ввел. Редактируемый столбец называется «тайм-аут».
Моя первая попытка выглядела так;
if ($column == "timeout") {
$toSQL = "UPDATE NetLog t2
JOIN NetLog t1 ON t2.recordID = t1.recordID
SET t2.timeout = DATE_FORMAT(t2.logdate, '%Y-%m-%d')
WHERE t2.recordID = $recordID";
$stmt = $db_found->prepare($toSQL);
$stmt->execute();
}
Это не обновило таблицу и не выдало ошибок. И да, значение $ разрешается в 12:34 или что-то еще, что было введено пользователем. Создание нового значения тайм-аута 2017-10-20 12:34.
Тогда я попробовал это;
If ($column == "timeout") { $TOSQL = "SELECT DATE_FORMAT(logdate,
'%Y-%m-%d') as dateonly, recordID
FROM NetLog
WHERE recordID = $recordID"; foreach($db_found->query($TOSQL) as $row) { $newdttm = "$row[dateonly] $value"; $recordID =
"$row[recordID]"; } $moretogo = 1; } if ($column == "timeout" AND
$moretogo == 1) { echo("$newdttm $recordID "); // 2017-10-20 12:34
8117 $sql = "UPDATE NetLog SET timeout = '$newdttm'
,timeonduty = (timestampdiff(SECOND, logdate, '$newdttm')) WHERE recordID = $recordID "; $stmt = $db_found-prepare($sql);
$stmt->execute(); }
Вывод эха выглядит следующим образом: 2017-10-20 12:34 8117, и это именно то, что я ожидал. Я тоже пробовал несколько других вещей, но ничего не делал, обновлял таблицу MySQL. Это выдает ошибку 500, но я не могу найти ничего плохого, чтобы вызвать это.
Задача ещё не решена.
Других решений пока нет …