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 :: Создание сложной формы для создания ассортимента [2]

 PHP.SU

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


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

> Без описания
armancho7777777 Супермодератор
Отправлено: 13 Апреля, 2016 - 12:25:31
Post Id



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


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


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




product[age][][]
(Добавление)
CODE (html):
скопировать код в буфер обмена
  1. <select name="product[age][][]" multiple></select>
 
 Top
3d_killer
Отправлено: 13 Апреля, 2016 - 12:27:23
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




то есть у меня не просто будет клонирование, а клонирование с заменой
CODE (javascript):
скопировать код в буфер обмена
  1. var new_text=text.replace(/\[0\]/g,"["+window.set+"]");

(Отредактировано автором: 13 Апреля, 2016 - 12:27:54)

 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 13 Апреля, 2016 - 12:27:46
Post Id



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


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


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




CODE (text):
скопировать код в буфер обмена
  1.  
  2. product => [
  3.      size => [0 => 20, 1 => 25, 2 => 34],
  4.      color => [0 => 'red', 1 => 'green', 2 => 'blur'],
  5.      price => [0 => 100, 1 => 200, 2 => 300],
  6.      age => [0 => [0 => 3мес, 1 => 6мес,  2 => 9мес], 1 => [], 2 => []],
  7. ]
  8.  

(Добавление)
3d_killer пишет:
то есть у меня не просто будет клонирование, а клонирование с заменой

Не понял... Зачем ?
 
 Top
3d_killer
Отправлено: 13 Апреля, 2016 - 12:29:30
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




даже не знаю, множественный выбор в таком виде, не наглядно особенно если значений много
(Добавление)
для нумерования
первый сет
<input name='size[0][]' value=''>
второй сет
<input name='size[1][]' value=''>

заменять [1]
(Добавление)
так как говорю же множественный выбор в селекте, не удобно и ненаглядно, вы наверно не представляете какие бывают пользователи....
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 13 Апреля, 2016 - 12:34:00
Post Id



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


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


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




Потому не стоит так делать.
Вы же в поле таблицы не будите записывать несколько значений.
В там русле и мыслите.
На каждую сущность по одной записи:
entity1 {color, size, age, price}
entity2 {color, size, age, price}
entity3 {color, size, age, price}
entity4 {color, size, age, price}

Можно сделать и как Вы хотите, а потом на стороне сервера сформировать нужный набор данных.
Не понимаю в чём сложность.
(Добавление)
3d_killer пишет:
<input name='size[0][]' value=''>

Оооо... Ну с текстовыми полями это будет вообще атас.
Списки там всякие, флажки - ещё ладно.

(Отредактировано автором: 13 Апреля, 2016 - 12:35:53)

 
 Top
3d_killer
Отправлено: 13 Апреля, 2016 - 12:35:44
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




нет каждому размеру естественно отдельная запись, 3 размера в одном товаре соответственно в таблице со значениями 3 записи
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 13 Апреля, 2016 - 12:37:25
Post Id



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


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


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




Ну я понимаю, что Вы так и делаете.
Это я пример привёл относительно сущностей, чтобы Вы поняли к чему я клоню.
 
 Top
3d_killer
Отправлено: 13 Апреля, 2016 - 12:37:58
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




текстовый я привел для примера, а так списки выбора, просто не один, и могут добавляться
Прикреплено изображение (Нажмите для увеличения)
1.jpg
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 13 Апреля, 2016 - 12:39:48
Post Id



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


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


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




Вот пусть и форма в таком русле будет.
Зачем усложнять.
Сделайте пока так.
Это же всего-лишь интерфейс.
Придумаете что-то лучше, удобнее - подправите форму, обработчик немного.
Рефакторинг никто не отменял )
(Добавление)
Или же надо сделать так, чтобы всё максимально сводилось к выбору из существующих значений, а не вбивать от руки в текстовые поля.
Ведь от руки можно допустить опечатку: 2 Мес, 2 мес, 2-мес ... и т.д.
Превратится в письмо из Простоквашино ))

(Отредактировано автором: 13 Апреля, 2016 - 12:44:17)

 
 Top
3d_killer
Отправлено: 13 Апреля, 2016 - 12:44:15
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




в любом случае благодарю, вы очень помогли
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 13 Апреля, 2016 - 12:44:34
Post Id



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


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


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




Да не за что.
(Добавление)
3d_killer пишет:
множественный выбор в селекте, не удобно и ненаглядно

Есть checkbox'ы ещё.
(Добавление)
Но так форма превратится в километровый холст ))
(Добавление)
Потому полезно ковырять различные cms-ки, модули.
Где-то, что-то можно почерпнуть касаемо интерфейса.
(Добавление)
3d_killer пишет:
множественный выбор в селекте, не удобно и ненаглядно

Можно такую-же кнопочку к ячейке [+] приделать, в которой списки, или текстовые поля.

(Добавление)
Держите:
https://jsfiddle[dot]net/2at87sm9/2/

(Отредактировано автором: 13 Апреля, 2016 - 13:25:22)

 
 Top
3d_killer
Отправлено: 13 Апреля, 2016 - 13:25:03
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




Улыбка
да я уже почти написал, опять же вы привязываетесь к конкретным параметрам в JS, у меня в управлении мы не знаем параметры и не знаем их количество
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 13 Апреля, 2016 - 13:26:22
Post Id



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


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


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




Ни к каким параметрам я не привязываюсь.
Там data-атрибуту для манипуляции. Всё.
(Добавление)
CODE (javascript):
скопировать код в буфер обмена
  1. $row.find('[data-btn="age"]')

Обозвать можете абстрактно.
(Добавление)
Точнее обобщённо.
(Добавление)
Например:
CODE (javascript):
скопировать код в буфер обмена
  1. $row.find('[data-btn="field"]')

(Добавление)
Или:
CODE (javascript):
скопировать код в буфер обмена
  1. $row.find('[data-btn="row-field"]')

(Добавление)
В общем, как в том же bootstrap'е.

(Добавление)
Так понятней ?
https://jsfiddle[dot]net/2at87sm9/5/

Или опять что-то там к чему-то там "привязано" ?))
(Добавление)
Кажется понял, что Вы не догоняете.
Добавляете data-атрибут multiple и пляшете от него.
Показать ?)
(Добавление)
Хотя что там показывать.
Даже атрибут не нужен.
Форма же динамически формируется, вот и формируйте с кнопкой [+] либо без неё.
(Добавление)
PHP:
скопировать код в буфер обмена
  1. $fieldType = '...';
  2. $fieldName = "product[$propID][]";
  3.  
  4.  if($isMultiple) {
  5.     $fieldName .= '[]';
  6. }
  7.  
  8. $formElement = \ViewHelper\FormElement::factory($fieldType, $fieldName);
  9.  
  10. if($isMultiple) {
  11.       $formElement .= \ViewHelper\FormBtn::factory('+', [
  12.             'data' => ['btn' => 'row-field-btn'],
  13.             'type' => 'button',
  14.       ]);
  15. }
  16.  
  17.  

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <div data-group="row-field" class="field-group">
  3.     <span><?=$formElement?></span>
  4. </div>
  5.  

(Отредактировано автором: 13 Апреля, 2016 - 14:25:35)

 
 Top
armancho7777777 Супермодератор
Отправлено: 14 Апреля, 2016 - 02:23:14
Post Id



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


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


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




...

(Отредактировано автором: 14 Апреля, 2016 - 02:24:13)

 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB