您好,我正在创建维护日志条目表单。用户需要从下拉菜单中选择他们的名字。然后,数据库将在该行中保存执行维护人员的记录。
我有一个表“engineers”,其中包含 id、name、department 列。我要发布的表是“log”,其中包含 id、部门、工程师...等。
当表单发布时,下拉列表将工程师 ID 插入“日志”中,但我希望它能够插入(不添加另一个字段/下拉列表)相应的部门。
这是我的代码:
<label>Engineer Name:</label>
<br/><br/>
<select id="engineer" name="engineer">
<?php
$pdo = new PDO('mysql:host=localhost;dbname=frontier_maintlog', 'frontier_admin', 'Lys100p*');
#Set Error Mode to ERRMODE_EXCEPTION.
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare('Select id,name,department from engineers');
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
echo "<option value='$row[id]'>$row[name]</option>";
}
?>
</select>
<br/><br/>
<input type="submit" value=" Submit " name="submit"/><br />
希望这是有道理的,我打字时有点困惑!
最佳答案
部门不应该和工程师在同一个表中,因为你会有双重数据;你想在 MySQL 中避免这种情况。 所以你应该有这些表:
ENGINEERS (IDe, name,IDd (指向部门表的外部键) 部门(IDd,部门名称) LOG(IDl,message,...,IDe(指向工程师表的外部键)
然后您要做的就是用当前的维护作业填充日志表,仅指向工程师表。这里的部门名称是没有用的,因为有一个专门的表(您可以使用 ENGINEERS 中的外部 Key 来查找工程师属于哪个部门)。
希望这对您有意义!
关于PHP Oist 从一个下拉菜单中将两个变量放入 Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38203913/