PHP Oist 从一个下拉菜单中将两个变量放入 Mysql

标签 php mysql

您好,我正在创建维护日志条目表单。用户需要从下拉菜单中选择他们的名字。然后,数据库将在该行中保存执行维护人员的记录。

我有一个表“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/

相关文章:

php - Symfony 和 Docker - 缓存和日志目录权限

php - while 循环中的 POST 数据未传递到新页面

php - 从日期字段中选择特定数据

python - “caching_sha2_password”插件在 Windows 上失败

php - PHPSESSID 是如何生成的?

php - CakePHP 自定义规则验证失败(正则表达式)

mysql - sqlpro重复输入错误

php mysqli 查询不返回表中的所有行

php - 使用 MySQL 数据库中的详细信息将动态创建的一组图像中的数据动态传递到 Modal

php - Git 在 merge 分支时混合两个函数