這可能是一個簡單的問題,但我很難理解如何解決它。我有一個表格,允許用戶選擇「定製」或「全部」人員「分配給作業。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