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

Сообщение от Salvat
Это номер сообщения
Если это идентификатор сообщения по которому нужно связать поля формы, то скрытого поля не требуется. Форма это коллекция элементов, а значит массив, ключами которого на сервере будут имена. При этом поля формы можно именовать так, что массив будет не однономерный, а многомерный.

Как именно именовать, это зависит от того как удобнее будет на сервер обрабатывать полученные данные, имеется ввиду группировка или по ключам, или по именам полей sql-таблицы.

Например: пусть из СУБД выбираются данные - идентификатор сообщения, имя автора, сообщение, дата. При этом выборка ни одного, а сообщений за некий период. Можно именовать поля так:

<input name="data[1]['mess']" value="aaa" />
<input name="data[1]['name']" value="bbb" />
<input name="data[1]['date']" value="12.3.2015" />
<input name="data[2]['mess']" value="ccc" />
<input name="data[2]['name']" value="ddd" />
<input name="data[2]['date']" value="13.3.2015" />


где 1 и 2, это идентификаторы сообщений, и сервер получит следующий массив:

Код:
Array
(
    [data] => Array
        (
            [1] => Array
                (
                    ['mess'] => aaa
                    ['name'] => bbb
                    ['date'] => 12.3.2015
                )

            [2] => Array
                (
                    ['mess'] => ccc
                    ['name'] => ddd
                    ['date'] => 13.3.2015
                )

        )

)
а можно так:

<input name="mess[1]" value="aaa" />
<input name="name[1]" value="bbb" />
<input name="date[1]" value="12.3.2015" />
<input name="mess[2]" value="ccc" />
<input name="name[2]" value="ddd" />
<input name="date[2]" value="13.3.2015" />


в этом случае массив будет следующий:

Код:
Array
(
    [mess] => Array
        (
            [1] => aaa
            [2] => ccc
        )

    [name] => Array
        (
            [1] => bbb
            [2] => ddd
        )

    [date] => Array
        (
            [1] => 12.3.2015
            [2] => 13.3.2015
        )

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