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
Форумы портала PHP.SU :: Версия для печати :: Одинаковые textarea
Форумы портала PHP.SU » » Вопросы новичков » Одинаковые textarea

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

1. alsio - 20 Января, 2016 - 09:51:35 - перейти к сообщению
На странице несколько вкладок (tabs). В каждой вкладке определенные поля одной формы. Все поля индивидуальны, кроме поля "Комментарий", которое повторяется во всех вкладках.

PHP:
скопировать код в буфер обмена
  1. <textarea name="komment" rows="5"><?echo("".$row["komment"]."")?></textarea>


Естественно, запись в БД происходит только из последнего textarea. А как сделать так, чтобы запись происходила из любого ?
2. SAD - 20 Января, 2016 - 10:20:35 - перейти к сообщению
name сделать уникальным для табы
3. Faraon-san - 20 Января, 2016 - 10:58:53 - перейти к сообщению
можно сделать массив
CODE (html):
скопировать код в буфер обмена
  1. <textarea name="komment[]" rows="5"></textarea>

на сервер будет приходить массив данных.
4. TuX560 - 20 Января, 2016 - 11:04:19 - перейти к сообщению
Если комментарии одни для всех вкладок не проще их вынести из вкладок? Либо переносить в DOM при переходе на активную вкладку?

upd. Прошу прощения, не выспался, если речь действительно о желании с каждой вкладки получить комментарии, то очевидно что у полей должны быть уникальные имена или массив
5. alsio - 20 Января, 2016 - 12:44:39 - перейти к сообщению
По-идее, должны быть уникальные имена. Но это же подразумевает разные поля в БД. Получается - каждая вкладка - разные комментарии...

А с массивом как будет выглядеть запрос к БД? Сейчас так:
PHP:
скопировать код в буфер обмена
  1. $komment= $_POST['komment'];
  2. mysql_query ("UPDATE table SET komment='$komment'
6. -=1100=- - 20 Января, 2016 - 12:58:31 - перейти к сообщению
alsio пишет:
По-идее, должны быть уникальные имена. Но это же подразумевает разные поля в БД. Получается - каждая вкладка - разные комментарии...

А с массивом как будет выглядеть запрос к БД? Сейчас так:
PHP:
скопировать код в буфер обмена
  1. $komment= $_POST['komment'];
  2. mysql_query ("UPDATE table SET komment='$komment'


Не самый лучший пример, но можно так.
PHP:
скопировать код в буфер обмена
  1.  
  2. $comm=""
  3. foreach($_POST['komment'] as $comm){
  4.   if($comm!=""){
  5.     mysql_query ("UPDATE table SET komment='$comm'")
  6.     break;
  7.   }
  8. }
  9.  
7. TuX560 - 20 Января, 2016 - 13:33:31 - перейти к сообщению
alsio пишет:
По-идее, должны быть уникальные имена. Но это же подразумевает разные поля в БД. Получается - каждая вкладка - разные комментарии...

Сложно понять как будет лучше хранить, не понимая о чем именно идет речь. Если на каждой в кладке у Вас разные вещи которые хранятся в разных таблицах - в каждой таблице поле под комментарий, если все данные с вкладок относятся к чему-то одному - непонятно зачем делать комментарии для каждой вкладки.
8. Faraon-san - 20 Января, 2016 - 14:58:28 - перейти к сообщению
измените свою логику, т.к. вы создали себе проблему решение которой еще более усложняет ее.
выведите textarea вне вкладок tabs.

 

Powered by ExBB FM 1.0 RC1