Одномерный массив PDO fetchAll

это может быть простой вопрос, но я изо всех сил пытаюсь понять, как решить Это. У меня есть форма, которая позволяет пользователю выбрать "индивидуальный" или "весь" персонал "для назначения на работу.

Если выбрано индивидуальное, пользователь выбирает персонал, щелкая каждый флажок, я затем вставляю их в таблица вакансий. В результате будет получен следующий массив (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();              

}

Первый массив вставляет нормально, однако последний массив вставляет нули для идентификатора персонала.

Есть предложения?

Спасибо =).

43
задан Elliott 18 May 2011 в 16:09
поделиться