SQL,PHP-向下拉函数添加约束
SQL、PHP关于向add函数添加约束的问题 我有一个父母桌上的狗和一个孩子桌上的健康记录 狗 id=主键 健康记录SQL,PHP-向下拉函数添加约束,php,sql,mysqli,Php,Sql,Mysqli,SQL、PHP关于向add函数添加约束的问题 我有一个父母桌上的狗和一个孩子桌上的健康记录 狗 id=主键 健康记录 ==================================== id | fluVax | allergies | memberFK ==================================== memberFK是唯一的,是指向dogs.id的外键 该代码只允许每只狗有一个健康记录。一对一的关系 这段代码可以很好地插入数据 if(!($stmt = $c
====================================
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,因此如果用户尝试为已经有记录的狗添加记录,则会正确返回错误。但是我想要的是一个下拉列表,允许用户只选择没有现有记录的狗这有点难理解您的问题。。。但我会努力的 所以如果我理解你的意思,每只狗只有一个健康记录。 因此,首先,您应该使healthRecord.memberfk唯一。避免重复输入
第二:你应该选择一只狗,也许在healthRecord上加入一个连接,让拥有健康数据的狗以你需要的方式打印选择或插入数据,并且只打印你需要的数据。但只适用于没有一个现有健康记录的狗-这是否意味着你从来没有一个以上的健康记录?如果是,则外键位于错误的表中。是的,我忘记说healthRecord.memberfk设置为UNIQUE。如果有人试图为已经有记录的狗添加记录,则返回错误。我将尝试创建一个SELECT语句,就像您所说的那样,它只使用表中没有现有fk的狗填充下拉列表
<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>