php - 如何从 mysql 中显示 select2 数组中的数据?
问题描述
我对东西很陌生,如果有人能给我一些建议,我将不胜感激。我不明白如何从 select2 中保存一个数组(工作人员),以及如何稍后在创建的表单(他们被分配到哪个 ID)中显示他们(他们的名字)。
所以我有3张桌子:
- 任务: id、name 等。
- 工人:身份证,名字,姓氏。
- worker_tasks: worker_id,task_id。
这就是我创建任务(并将其插入任务表)并将任务 ID 插入 worker_tasks 表的方式:
$sql = "INSERT INTO tasks (shortname, projectname, createdby, starting_date, end_date, `description`, workstatus) VALUES(?, ?, ?, ?, ?, ?, ?)";
$q = $pdo->prepare($sql);
$q->execute(array($shortname,$projectname,$createdby,$starting_date,$end_date,$description,$workstatus));
$task_id = $pdo->lastInsertId();
$sql = "INSERT INTO worker_tasks (worker_id, task_id) value(?, ?)";
$w = $pdo->prepare($sql);
因此,在这个 worker_tasks 表中,在这个 select2 表单中选择的工作人员会获得一个任务 ID。
<select name="worker[]" class="select2 browser-default"
multiple="multiple">
<optgroup label="Konstruktion">
<?php
$pdo = Database::connect();
$sql = 'SELECT * FROM workers';
foreach ($pdo->query($sql) as $row) {
echo '<option value="'. $row['id']. '"';
echo 'class="left">'. $row['worker_name'] . ' ' . $row['worker_surname'];
echo '</option>';
}
Database::disconnect();
?>
</optgroup>
<optgroup label="Produktion">
<?php
$pdo = Database::connect();
$sql = 'SELECT * FROM workers WHERE worker_field = "Produktion"';
foreach ($pdo->query($sql) as $row) {
echo '<option value="'. $row['id']. '"';
echo 'class="left">'. $row['worker_name'] . ' ' . $row['worker_surname'];
echo '</option>';
}
Database::disconnect();
?>
</optgroup>
</select>
这就是我任务中的内容显示的地方:
<?php
$pdo = Database::connect();
$sql = 'SELECT * FROM tasks WHERE workstatus="In Bearbeitung" ORDER BY id DESC';
foreach ($pdo->query($sql) as $row) {
echo '<ul class="collapsible collapsible-accordion animate fadeUp">';
echo '<li>';
echo '<div class="collapsible-header" tabindex="0">';
echo $row['shortname'];
echo '</div>';
echo '<div class="collapsible-body pad white-blur lighten-5">';
echo '<p class="black-text">';
echo '<b>Projekt:</b>';
/* echo '<br>'. $row['workers name should be showed here but I wonder how to do that properly?'] . '<br>'; */
echo '<br>';
echo '<b>Projekt Bezeichnung:</b>';
echo '<br>B8 Version 1.2.0';
echo '<br>';
echo '<b>Aufgabe:</b>';
echo '<br>'. $row['description'] . '<br>';
echo '<br>';
echo '<b>Mitarbeiter:</b>';
echo '<br>'. $row['workers_array'] . '<br>';
echo '</p>';
echo '</li>';
echo '</ul>';
}
Database::disconnect();
?>
解决方案
推荐阅读
- c++ - 使用 if 语句分配引用?
- python-3.x - 对于两个打印字符串中的“空格”
- c# - 用 GDI 构建轮廓图像?
- elasticsearch - 使用 match_phrase elasticsearch 查询连续单词意外工作
- android-studio - 如何在Android中的文件中附加数据?
- angular - OL 6.5.0,同一点图中的许多 LineString 会导致速度变慢
- python - 如何在 Calendly 中正确使用页面令牌进行迭代?
- python - 使用类似架构掩码的 u-net 进行图像分割时出错不起作用
- arrays - 在 mongoldb 中使用聚合管道弹出最后一个数组元素
- c# - MySqlCommand.Parameters.Add 在 c# 中的命令文本中添加斜杠