Обновление двух таблиц SQL из одной формы (PHP)Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Обновление двух таблиц SQL из одной формы (PHP)

Сообщение Anonymous »

У меня есть две таблицы, которые я хотел бы обновить на основе результатов 1 опубликованной формы.
Таблица: Пациенты-спасатели



Идентификатор пациента
Имя
Статус




1
Боджер
Выпущен

2
Барсук
Пленник



Таблица: Прием



Идентификатор допуска
Идентификатор пациента
Расположение



1
2
Умер


2
1
Выпущен



Форма содержит поле поиска с 6 вариантами выбора, только пара относится к «спасательным пациентам», а остальные являются дополнительными. для таблицы «поступления». эти дополнительные сведения можно упростить до одного слова для таблицы «пациенты». например, «умер — эвтаназия» просто нужно будет обновить таблицу пациентов как «умершие».
Моей первой задачей была попытка правильно установить «статус пациента» на основе того, что было опубликовано:

Код: Выделить всё

// figure out the patient's status from the posted disposition
if ($disp_disposition == 'Released') {
$pat_status = 'Released';
} elseif ($disp_disposition == 'Transferred to another rescue') {
$pat_status = 'Transferred';
} elseif ($disp_disposition == 'Died - Euthanised') {
$pat_status = 'Deceased';
} elseif ($disp_disposition == 'Died - within 48 hours') {
$pat_status = 'Deceased';
} elseif ($disp_disposition == 'Died - after 48 hours') {
$pat_status = 'Deceased';
} elseif ($disp_disposition == 'Died - on admission') {
$pat_status = 'Deceased';
}
И с помощью этого попробуйте обновить обе таблицы. Первоначально я подошел к этому, «сложив» утверждения, которые уже использовал:

Код: Выделить всё

try {

$statement = $conn->prepare('INSERT INTO rescue_admissions
(admission_id,
disposition)

VALUES (:admission_id,
:disposition)

ON DUPLICATE KEY UPDATE
disposition = :disposition
');

$statement->execute([
'admission_id' => $disp_admission_id,
'disposition' => $disp_disposition

]);

try {

$statement = $conn->prepare('INSERT INTO rescue_patients
(patient_id,
status)

VALUES (:patient_id,
:status)

ON DUPLICATE KEY UPDATE
status = :status
');

$statement->execute([
'patient_id' => $pat_patient_id,
'status' => $pat_status

]);
Когда это не сработало (модальное окно не загружалось), я попытался присоединиться к ним и выполнить запрос на обновление

Код: Выделить всё

$statement = $conn->prepare("UPDATE rescue_admissions
JOIN rescue_patients ON rescue_admissions.patient_id = rescue_patients.patient.id
SET rescue_admissions.disposition = {$disp_disposition},
rescue_patients.status = {$pat_status},
WHERE rescue_admissions.admission_id = {$disp_admission_id} AND rescue_patients.patient_id = {$pat_patient_id}");
И здесь также не удалось загрузить модальное окно. Я играл с ним большую часть дня и до сих пор не могу понять, какой вариант будет правильным. Любые рекомендации действительно полезны, спасибо.
Пыталась объединить мои утверждения и использовать SQL-запрос на соединение и обновление. Ожидал, что модальное окно загрузится и сможет заполнить форму, а также обновит таблицы в нужных местах правильными данными.

Подробнее здесь: https://stackoverflow.com/questions/790 ... e-form-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»