Можно ли проанализировать многомерный массив с входами формы вместе с предопределенными значениями - PullRequest
0 голосов
/ 09 мая 2011

PHP поддерживает меня в этом:

<input name=array[] type=text>

я хочу использовать тот же принцип построения многомерного массива.Сценарий таков: у меня много вопросов, несколько вопросов с несколькими ответами (флажки).

Я хочу по существу разобрать значения всех вопросов в одном массиве, однако вместе с идентификатором вопроса в качестве значения.С другой стороны, я могу по существу сохранить в своей базе данных ответ с идентификатором вопроса.

Я хочу, чтобы массив содержал это по существу:

[0] question_id |ответ
[1] question_id |ответ

пока что я могу сделать это: (обратите внимание, это только для примера, а не мой фактический код)

<form method=post action="testing.php">
<input name="response[q1][]" type=text value=''>
<input name="response[q2][]" type=text value=''>
<input name="response[q3][]" type=text value=''>
<input name="response[q3][]" type=text value=''>
<input type="submit" value="submit">
</form>

однако q1, очевидно, является ключом.Я хочу, чтобы это было предопределенное значение.Я новичок в этом, так что все это немного смущает меня.Если кто-то может понять, что я пытаюсь сделать, и знает, как, пожалуйста, помогите мне: D

большое спасибо,

1 Ответ

0 голосов
/ 09 мая 2011

Я полагаю, у вас есть массив идентификатора вопроса: -

$questions = array(1, 2, 3, 4, 5);

Вы можете просмотреть этот массив идентификатора вопроса и создать поля ввода: -

foreach($questions as $key => $question) {
    ?>
    <input name="response[$key][<?php echo $question ?>]" type="text" value=''>
    <?php
}

Итак,поля ввода будут: -

<input name="response[0][1]" type=text value=''>
<input name="response[1][2]" type=text value=''>
<input name="response[2][3]" type=text value=''>
<input name="response[3][4]" type=text value=''>
<input name="response[4][5]" type=text value=''>

Приведенные выше поля ввода имеют следующий формат: -

<input name="response[AutoIncrementValue][QuestionId]" type=text value=''>

Когда вы отправляете форму, массив записей выглядит следующим образом: -

Array
(
    [response] => Array
        (
            [0] => Array
                (
                    [1] => as
                )

            [1] => Array
                (
                    [2] => asdf
                )

            [2] => Array
                (
                    [3] => asdf
                )

            [3] => Array
                (
                    [4] => asdfadf
                )

            [4] => Array
                (
                    [5] => asdfadf
                )
        )
)

Теперь массив записей имеет следующий формат (как вы и хотели в своем вопросе): -

[0] question_id |ответ

[1] question_id |ответ

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...