无法通过下拉选择Teamleiter添加项目的PHP技术求助
修复项目添加时团队主管关联问题
问题分析
当前添加项目时,团队主管(Teamleiter)始终使用固定ID 1,无法关联页面下拉选择框选中的员工ID,核心问题有两处:
createProject函数硬编码了外键值为1,未使用传入的选中员工ID- 下拉选择框的选项值存在引号语法错误,导致提交的员工ID可能无效
修复步骤
1. 修正createProject函数的参数使用
找到函数文件中的createProject函数,将硬编码的1替换为传入的$teamleiter参数:
function createProject($projekt_name, $projekt_beschreibung, $projekt_start, $teamleiter, $projekt_ende = null) { $query = "INSERT INTO projekt(projekt_name, projekt_beschreibung, projekt_start, projekt_ende, mitarbeiter_pNr) VALUES (?, ?, ?, ?, ?);"; // 替换固定值1为传入的$teamleiter参数 $params = array($projekt_name, $projekt_beschreibung, $projekt_start, $projekt_ende, $teamleiter); makeStatement($query, $params); }
2. 修复下拉选择框的引号语法错误
在makeTable函数中,生成员工选项的代码存在引号闭合错误,将错误的转义引号修正为标准闭合格式:
foreach ($rowsMitarbeiter as $row) { // 修正引号闭合逻辑,确保value值正确传递 echo '<option value="' . $row['mitarbeiter_id'] . '">' . $row['mitarbeiter_vname'] . ' ' . $row['mitarbeiter_nname'] . '</option>'; }
3. 验证数据库关联字段匹配(可选)
检查数据库表结构:
- 确认
projekt表的mitarbeiter_pNr字段是否与mitarbeiter表的主键字段对应(若mitarbeiter表主键是mitarbeiter_id,则需确保插入语句的外键字段与之一致,同步调整关联查询逻辑)
验证修复效果
完成修改后:
- 在页面添加项目时,选择下拉框中的团队主管
- 提交后查看数据库
projekt表,确认mitarbeiter_pNr字段已正确存储选中的员工ID - 项目列表中应正确显示对应的团队主管姓名
内容的提问来源于stack exchange,提问作者NO IDEA
相关产品推荐
相关产品推荐

