SQL, PHP вопрос о добавлении ограничения в функцию добавления.
У меня есть родительская таблица собак и дочерняя таблица медицинских записей
собак
==================================
id | name | breed | gender | dob |
==================================
id = первичный ключ
healthRecord
====================================
id | fluVax | allergies | memberFK
====================================
memberFK является УНИКАЛЬНЫМ и является внешним ключом, указывающим на dogs.id
Код допускает только одну запись здоровья на собаку.Отношение один-к-одному.
Этот бит кода вставляет данные точно
if(!($stmt = $conn->prepare("INSERT INTO healthRecord(fluVax, allergies,
memberfk) VALUES (?,?,?)")))
{
echo "Prepare failed: " . $stmt->errno . " " . $stmt->error;
}
}
if(!($stmt->bind_param("ssi",$_POST['fluVax'],$_POST['allergies'],
$_POST['memberId'])))
Но я уверен, что этот код мне нужно редактировать
<p> Dog's Name: <select name="dogId">
<?php
foreach($dogs as $dog)
{
echo "<option value='" . $dog["id"] . "'>" . $dog["name"] . "
</option>";
}
?>
<p>Flu Vax: <input type='date' name='fluVax'/></p>
<p>Conditions: <input type='text' name='conditions'></p>
<button type="submit">Submit</button>
</form>
Это приводит к раскрытию списка всех собак в базе данных, и я хочу изменить раскрывающийся список, чтобы просто показать собак, у которых его еще нет, поэтому для каждой собаки будет только одна запись.Поскольку для healthRecord.memberfk задано значение UNIQUE, если пользователь пытается добавить запись для собаки, у которой уже есть запись, ошибка будет возвращена правильно.Но то, что я хочу, это выпадающий список, который позволяет пользователю выбирать только собак, у которых нет существующей записи