Показать сообщение отдельно
  #15 (permalink)  
Старый 16.06.2016, 23:25
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от armolov
В вашем варианте возможен множественный выбор в пределах 1 строки.
Уважаемый, вы несете полнейшую ахинею. Если в примере, к примеру, выбраны в первой строке 1 и 3, во второй 2, а в третей 1 и 2, то сервер получит массив:

Код:
    [as] => Array
        (
            [0] => Array
                (
                    [0] => on
                    [2] => on
                )

            [1] => Array
                (
                    [1] => on
                )

            [2] => Array
                (
                    [0] => on
                    [1] => on
                )

        )
Форма никак не привязана конкретно к асинхронным или иным запросам, к таблицам, индексам или ассоциациям. Форма - это как раз элемент позволяющий знать серверу о выборе пользователя вне контекста того в чем он сделан. Ну ей богу, извилины выпрямляются от утверждений ваших.

Нет, я не против того, что вы решили вместо естественного наворотить искусственного. А рони парень умный, оперативный (он живет на форуме, в каком-то разделе, на раскладушке ), он вам и тысячу решений напишет. Да за ради бога, охота граблями лужи разгонять, пожалуйста.

Заметьте, что я "вклинился" в беседу джентльменов не по поводу "граблей", а по поводу "связать". И чтобы впредь не нарушать этот диалог, последнее замечание:

Сообщение от armolov
Это я к тому что использовать индексы массива [0][1][2] вместо конкретных id строк не очень хорошая идея.
а где же вы прочли о том, что я утверждаю, что нужно иметь абстрактную форму? Или трудно понять, что это пример, а для связи всего-то надо указать первичным ключом имен полей каждой строки идентификатор? Что сложного то, и если взять пример, то будет:

<table>
    <tr>
        <td><input id="chk0" type="checkbox" name="as[12045][0]" /><label for="chk0">Text</label></td>
        <td><input id="chk1" type="checkbox" name="as[12045][1]" /><label for="chk1">Text</label></td>
        <td><input id="chk2" type="checkbox" name="as[12045][2]" /><label for="chk2">Text</label></td>
    </tr>
    <tr>
        <td><input id="chk3" type="checkbox" name="as[29356][0]" /><label for="chk3">Text</label></td>
        <td><input id="chk4" type="checkbox" name="as[29356][1]" /><label for="chk4">Text</label></td>
        <td><input id="chk5" type="checkbox" name="as[29356][2]" /><label for="chk5">Text</label></td>
    </tr>
    <tr>
        <td><input id="chk6" type="checkbox" name="as[40008][0]" /><label for="chk6">Text</label></td>
        <td><input id="chk7" type="checkbox" name="as[40008][1]" /><label for="chk7">Text</label></td>
        <td><input id="chk8" type="checkbox" name="as[40008][2]" /><label for="chk8">Text</label></td>
    </tr>
</table>


а по примеру выбора получим

Код:
    [as] => Array
        (
            [1204] => Array
                (
                    [0] => on
                    [2] => on
                )

            [29356] => Array
                (
                    [1] => on
                )

            [40008] => Array
                (
                    [0] => on
                    [1] => on
                )

        )
Это так сложно для понимания? Ну тогда с логикой точно проблемы.

Даже скажу больше - я могу для столбцов использовать индексы, а не ассоциацию, и в этом нет ни какого усложнения, это наоборот может быть выгода, а связать их с полями таблицы, ну так поля таблицы, это ведь индексы в наборе, для связи требуется всего-то использовать функцию пересечения массивов, и получим только те, что выбраны.

Вы утверждаете, что использовать форму, это сложно, а куда проще наворотить, а потом решать проблемы. Вот и думаешь, а где же логика.

Последний раз редактировалось laimas, 16.06.2016 в 23:29.
Ответить с цитированием