这可能是一个简单的问题,但我很难理解如何解决它。我有一个表格,允许用户选择“定制”或“全部”人员“分配给作业。PDO fetchAll数组到一维
如果选择自定义,用户通过单击每个复选框选择人员,然后将这些插入到作业表。这将产生以下(3,1,图10是工作人员的ID)
Array
(
[0] => 3
[1] => 1
[2] => 10
)
如果“全体员工”时,予先查询选择语句从工作人员表得到的所有员工ID的数组,然后将它们插入作业表中,但是这会产生阵列:
Array
(
[0] => Array
(
[staffID] => 1
[0] => 1
)
[1] => Array
(
[staffID] => 23
[0] => 23
)
[2] => Array
(
[staffID] => 26
[0] => 26
)
[3] => Array
(
[staffID] => 29
[0] => 29
)
)
如何将上面的数组转换为所示的第一个数组?
我使用下面的代码来查询数据库以获取所有员工ID,然后插入它们。
$select = $db->prepare("SELECT staffID FROM staff");
if($select->execute())
{
$staff = $select->fetchAll();
}
for($i = 0; $i<count($staff); $i++)
{
$staffStmt = $db->prepare("INSERT INTO staffJobs (jobID, userID) VALUES (:jobID, :staffID)");
$staffStmt->bindParam(':jobID', $jobID, PDO::PARAM_INT);
$staffStmt->bindParam(':staffID', $staff[$i], PDO::PARAM_INT);
$staffStmt->execute();
}
第一个数组插入正常,但最后一个数组插入零的staffID。
有什么建议吗?
谢谢=)。
非常感谢alot =) – Elliott 2011-05-18 16:23:31
谢谢!您的链接帮助我找到了如何获取'staffID'索引数组:'$ select-> fetchAll(PDO :: FETCH_COLUMN | PDO :: FETCH_GROUP)''。非常酷的东西 – Nico 2014-07-16 09:38:51