Перейти к содержимому


Вопрос по программированию


Сообщений в теме: 4

#1 arsenal

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

  • Пользователи
  • PipPipPip
  • 444 сообщений

Отправлено 22 Август 2011 - 09:23

Кто-нибудь из программистов подскажите, пожалуйста.
Есть однотипные поля с названием "Объект 1", "Объект 2", и т.д. всего 30шт.
Вычисления, которые с ними производятся, то же однотипные.
Хотелось бы все эти вычисления делать в цикле, но не могу разобраться, можно ли в название поля вставлять переменную. Что-то типа
for ($x==1, $x<=30, $x++)
{....
$data['Объект $x'] = выражение
...}
Перепробовал разные написания, но не получается

#2 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 688 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 22 Август 2011 - 10:52

Можно конечно, почему нет то? У вас просто банальные синтаксические ошибки в коде. Читайте руководство по PHP.

Ошибка раз
Ошибка два

#3 arsenal

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

  • Пользователи
  • PipPipPip
  • 444 сообщений

Отправлено 24 Август 2011 - 13:28

Помогите разобраться.
Имеем поле "типы систем" типа "список" с множественным выбором.
Используем код
$tip_sys = explode("\n", $data['Типы систем']); //Получаем массив с типами систем
Код отрабатывает правильно, проверял, получаем массив элементов, которые были выбраны в списке с множественным выбором.

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

for ($y=0; $y<count($tip_sys); $y++)
{
$qq = $tip_sys[$y];
$data1[$qq] = "ДА";
}
insert_query($data1, "Объекты и системы по заявке");

Но почему-то заполняется только последнее поле в выбранном списке. Где ошибка?

#4 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 688 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 24 Август 2011 - 14:54

Ошибка в том что вы неправильно делите список. Элементы списка разделяются через "\r\n", а не "\n". Вы же в результате получаете имена полей с "\r" на конце (кроме последнего элемента). Естественно что таких имен полей в таблице нет, поэтому они и не заполняются.

#5 arsenal

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

  • Пользователи
  • PipPipPip
  • 444 сообщений

Отправлено 24 Август 2011 - 15:04

Все получилось, спасибо.





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных