Files
firstgarden-web-gnu/manager/bakery/bakery_stock.ajax.confirm.update.php

46 lines
1.3 KiB
PHP

<?php
include_once '_common.php';
if(!$_SESSION['user_id']) exit; // 로그인 되어있지 않으면 확인 불가
if ($_SERVER["REQUEST_METHOD"] == "POST") { // POST로 넘어온 값을 처리
$searchDate = $_POST['searchDate'];
// 임시 배열 생성
$updates = [];
// POST 데이터 처리
foreach ($_POST as $key => $value) {
if (preg_match('/^(.*)-(\d+)$/', $key, $matches)) {
$name = $matches[1];
$barcode = $matches[2];
// 중복된 barcode에 대한 값들을 배열에 저장
if (!isset($updates[$barcode])) {
$updates[$barcode] = [];
}
$updates[$barcode][$name] = $value;
}
}
// 쿼리 생성
foreach ($updates as $barcode => $fields) {
$setClauses = [];
foreach ($fields as $name => $value) {
$setClauses[] = "{$name} = '{$value}'";
}
$setClause = implode(', ', $setClauses);
$query = "UPDATE {$fg['bakery_inventory_table']} SET {$setClause} WHERE date = '{$searchDate}' AND barcode = '{$barcode}'";
// 쿼리 실행
$result = sql_query($query);
}
if ($result) {
echo json_encode(array('status' => 'success'));
} else {
echo json_encode(array('status' => 'error', 'message' => 'Database error'));
}
} else {
echo json_encode(array('status' => 'error', 'message' => 'Invalid request method'));
}