это может быть простой вопрос, но я пытаюсь понять, как его решить. У меня есть форма, которая позволяет пользователю выбрать либо «пользовательский», либо «весь« персонал »для назначения на работу.
Если выбрано пользовательское, пользователь выбирает сотрудников, нажимая каждый флажок, а затем я вставляю их в таблицу заданий. Это приводит к массиву ниже (3, 1, 10 - идентификаторы персонала)
Array
(
[0] => 3
[1] => 1
[2] => 10
)
Если выбрано «весь персонал», я сначала запрашиваю оператор выбора, чтобы получить все идентификаторы персонала из таблицы персонала, а затем вставляю их в таблицу заданий, как указано выше. Однако это производит массив:
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
)
)
Как преобразовать указанный выше массив в первый показанный массив?
Я использую приведенный ниже код для запроса базы данных, чтобы получить все идентификаторы персонала, а затем вставляю их.
$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.
Есть предложения?
Спасибо =).