Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: n-форм и точное соответствие данных в них

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Viper
Отправлено: 18 Января, 2012 - 10:39:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Есть строка таблицы
CODE (html):
скопировать код в буфер обмена
  1. <tr class="actors_list_row">
  2.         <td align="center">
  3.                 <input type="text" class="input-actor" value="" size="70" />
  4.                 <input type="hidden" name="actor_id[]" class="input-actor-id" value="" />
  5.         </td>
  6.         <td align="center"><input type="text" name="role[]" class="input-role" value="" size="70" /></td>
  7.         <td align="center">
  8.                 <input type="text" class="input-dub" value="" size="70" />
  9.                 <input type="hidden" name="dub_id[]" class="input-dub-id" value="" />
  10.         </td>
  11.         <td>
  12.                 <a href="javascript:void(0);" class="del_row" title="Delete"><img src="/assets/images/icons/delete.png" border="0" /></a>
  13.         </td>
  14. </tr>


Таких строк может быть множество.

Как сделать так чтобы данные каждой формы из каждой строки соответсвовали друг другу? Т.е.

первая строка к примеру
Jhon, Ralf, Василий
вторая
Alex, Vaserman, Дмитрий

Чтобы не было
Jhon, Vaserman, Alex
Alex, Jhon, Василий

PS! У некоторых полей специально нет имен, они несут только визульную функцию.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Panoptik
Отправлено: 18 Января, 2012 - 11:32:29
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




когда формируете строки таблицы имена задавайте таким образом:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP $i = 0; ?>
  3.     <tr class="actors_list_row">
  4.             <td align="center">
  5.                     <input type="text" class="input-actor" value="" size="70" />
  6.                     <input type="hidden" name="actor_id[<?=++$i;?>][]" class="input-actor-id" value="" />
  7.             </td>
  8.             <td align="center"><input type="text" name="role[<?=$i;?>][]" class="input-role" value="" size="70" /></td>
  9.             <td align="center">
  10.                     <input type="text" class="input-dub" value="" size="70" />
  11.                     <input type="hidden" name="dub_id[<?=$i;?>][]" class="input-dub-id" value="" />
  12.             </td>
  13.             <td>
  14.                     <a href="javascript:void(0);" class="del_row" title="Delete"><img src="/assets/images/icons/delete.png" border="0" /></a>
  15.             </td>
  16.     </tr>
  17.  

(Отредактировано автором: 18 Января, 2012 - 11:33:45)



-----
Just do it
 
 Top
Viper
Отправлено: 18 Января, 2012 - 11:49:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Panoptik спсб. Я так и думал, но сомневался. Единственная сложность остается в том, что строки создаются "на лету" через JS. Прийдется код JS теперь править.

CODE (javascript):
скопировать код в буфер обмена
  1. $('#add_row').click(function(e){
  2.         e.preventDefault();
  3.         $('.actors_list_row').eq(0).clone().insertAfter('.actors_list_row:last');
  4.         $('.actors_list_row:gt(0)').find('.del_row').show();
  5.         $('.actors_list_row:last input').val("");
  6. });

Вот так клонируются строки. Теперь бы сюда втулить счетчик...
(Добавление)
Все куда проще оказалось. В click() добавил в конец

CODE (javascript):
скопировать код в буфер обмена
  1. var name_counter = $('.actors_list_row').length;
  2. $('.actors_list_row:last input.input-actor-id').prop('name', 'actor_id['+name_counter+'][]');
  3. $('.actors_list_row:last input.input-role').prop('name', 'role['+name_counter+'][]');
  4. $('.actors_list_row:last input.input-dub-id').prop('name', 'dub_id['+name_counter+'][]');


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB