Я использую этот http://www.phpzag.com/create-live-editable-table-with-jquery-php-and-mysql/ в качестве шаблона для редактирования двух столбцов в моей таблице. Отредактированные записи сохраняются в новой таблице SQL и вызываются с помощью уникального идентификатора ключа.
При каждом редактировании, где идентификатор не существует в SQL, мне нужно создать идентификатор, поэтому вместо этого просто ОБНОВИТЬ :
UPDATE notes SET $update_field WHERE shop_order='" . $input["SHOP_ORDER_NO"] . "'"
оператор в SQL Я хочу проверить, существует ли ID и, если да, просто обновить отредактированное значение, в противном случае создайте ID и обновите значение. Приведенный выше оператор обновления работает при создании идентификатора.
Приведенный ниже код обновляет только значение «priority», а не примечание при редактировании. Также, когда я редактирую «примечание», он не будет создавать новый идентификатор. Я пытался понять это в течение получаса без успеха.
<?php
include_once("db_connect.php");
$input = filter_input_array(INPUT_POST);
$poznamka = $input['note'];
if ($input['action'] == 'edit') {
$update_field='';
if(isset($input["priority"])) {
$update_field.= "priority='".$input["priority"]."'";
} else if(isset($input["note"])) {
$update_field.= "note='".$input["note"]."'";
}
if($update_field && $input["SHOP_ORDER_NO"]) {
$sql_query = "INSERT INTO notes (shop_order,priority,note)
VALUES ('" . $input["SHOP_ORDER_NO"] . "','" . $input["priority"] . "','" . $input["note"] . "')
ON DUPLICATE KEY UPDATE $update_field ";
mysqli_query($conn, $sql_query) or die("database error:".mysqli_error($conn));
}
}
?>