Распределение последовательных элементов массива как смешанных - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть упорядоченный список от 1 до 15. Я поместил эти элементы списка в форму и назначил флажок каждому. Пользователь может выбрать все, что он пожелает, из элементов этой формы.

Когда пользователь заполняет и отправляет форму, я хочу разделить этот список под определенными заголовками.

Например:

<form>
    <input type="checkbox" value="1" name="checklist[]"> Option 1
    <input type="checkbox" value="2" name="checklist[]"> Option 2
    <input type="checkbox" value="3" name="checklist[]"> Option 3 
    <input type="checkbox" value="4" name="checklist[]"> Option 4
    <input type="checkbox" value="5" name="checklist[]"> Option 5
    <input type="checkbox" value="6" name="checklist[]"> Option 6
    <input type="checkbox" value="7" name="checklist[]"> Option 7
    <input type="checkbox" value="8" name="checklist[]"> Option 8
    <input type="checkbox" value="9" name="checklist[]"> Option 9
    <input type="checkbox" value="10" name="checklist[]"> Option 10
    <input type="checkbox" value="11" name="checklist[]"> Option 11
    <input type="checkbox" value="12" name="checklist[]"> Option 12
    <input type="checkbox" value="13" name="checklist[]"> Option 13
    <input type="checkbox" value="14" name="checklist[]"> Option 14
    <input type="checkbox" value="15" name="checklist[]"> Option 15
</form>

В зависимости от выбранных вами результатов:

Категория A
Вопросы в этой категории: 1 - 3 - 4 - 10
Вы выбрали: 3 - 4 - 10

Категория B
Вопросы в этой категории: 2 - 8 - 11 - 14 - 15
Вы выбрали: 2 - 8 - 11

Категория C
Вопросы в этой категории: 5 - 6 - 7 - 9 - 12 - 13
Вы выбрали: 5 - 7 - 12 - 13

Можете ли вы дать мне представление о том, как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 07 апреля 2020

Я нашел ответ на вопрос, который я задал, выполнив поиск. Для тех, кто нуждается в помощи, я добавляю ее сюда.

Сначала добавьте параметры каждой категории в массив.

$category_A = array (1, 3, 4, 10);
$category_B = array (2, 8, 11, 14, 15);
$category_C = array (5, 6, 7, 9, 12, 13)

Затем вставьте эти массивы в foreach l oop и проверьте, есть ли выбранные опции в этом массиве. Пример для категории A:

foreach ( $category_A as $value ) {

    if ( in_array( $value, $_POST['check_list'] ) ){

        echo '<span class="selected">'. $value .'</span>';

    } else {

        echo '<span>'. $value .'</span>';

    }

}
0 голосов
/ 07 апреля 2020

Когда пользователь заполняет форму, вы получаете в php бэкэнд то, что находится внутри оператора значения в блоке параметров. Так что сделайте простой foreach для массива, с которым вы получаете операторы if

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