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]
Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2010
Помог: 1 раз(а)
Просто топчемся на одном месте, вы выбираете список услуг из таблицы `service_cl` с их id и описанием (как я понял), далее проходите циклом (while) по этому списку, но на выводе (между <li> и </li>) id услуги и описание услуги у вас выходит всегда одно и тоже, а лишь меняется параметр checked, почему так происходит? Потому что всегда идет одно и тоже значение из $a_tree[$id_par_service][$i]['id_service'] и $a_tree[$id_par_service][$i]['name_service'] , поэтому, просто необходимо с помощью $usl_checki передавать индекс в массив $a_tree[$id_par_service][$i] чтоб на выходе список услуг (строк) не дублировался (Добавление)
Тогда может так? Изменить
Но все это походит на гадание на кофейной гуще (Добавление)
Насчет массива $a_tree неясна его структура
quinlena
Отправлено: 28 Августа, 2012 - 11:35:02
Частый гость
Покинул форум
Сообщений всего: 157
Дата рег-ции: Апр. 2012 Откуда: Казахстан
Помог: 0 раз(а)
Bartezz пишет:
Просто топчемся на одном месте, вы выбираете список услуг из таблицы `service_cl` с их id и описанием (как я понял), далее проходите циклом (while) по этому списку, но на выводе (между <li> и </li>) id услуги и описание услуги у вас выходит всегда одно и тоже, а лишь меняется параметр checked, почему так происходит? Потому что всегда идет одно и тоже значение из $a_tree[$id_par_service][$i]['id_service'] и $a_tree[$id_par_service][$i]['name_service'] , поэтому, просто необходимо с помощью $usl_checki передавать индекс в массив $a_tree[$id_par_service][$i] чтоб на выходе список услуг (строк) не дублировался
Из таблицы service_cl я выбираю id_service, где id_con=определенное значение, потом захожу в таблицу dir_service и вывожу оттуда все услуги, но, необходимо чтобы те, которые есть в service_cl с id_con, были при выводе отмечены галочками.
Bartezz
Отправлено: 28 Августа, 2012 - 11:36:45
Гость
Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2010
Помог: 1 раз(а)
непонятно какая вообще взаимосвязь между $a_tree[$id_par_service][$i]['name_service'] и массивом $usl_checki (Добавление)
Все что вы пишите я понял, непонятно как описание услуг в массиве $a_tree можно сопоставить с выборкой $usl_checki
quinlena
Отправлено: 28 Августа, 2012 - 11:39:24
Частый гость
Покинул форум
Сообщений всего: 157
Дата рег-ции: Апр. 2012 Откуда: Казахстан
Помог: 0 раз(а)
Bartezz пишет:
непонятно какая вообще взаимосвязь между $a_tree[$id_par_service][$i]['name_service'] и массивом $usl_checki
$a_tree[$id_par_service][$i]['name_service'] - это вывод названия услуги.
А $usl_checki - это услуги в контракте, если услуга в контракте = услуге в дереве, то checked="checked"
Bartezz
Отправлено: 28 Августа, 2012 - 11:43:00
Гость
Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2010
Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2010
Помог: 1 раз(а)
мне в голову приходит только LEFT JOIN по id_con таблицы service_cl с той таблицей которая содержит наименование и id услуги сопоставимое с id услуги указанном в service_cl, или (чтоб было покривее) делать внутри цикла while запрос к таблице содержащей наименование услуги, которое можно определить по id полученном в выборке $usl_check
Покинул форум
Сообщений всего: 157
Дата рег-ции: Апр. 2012 Откуда: Казахстан
Помог: 0 раз(а)
Bartezz пишет:
мне в голову приходит только LEFT JOIN по id_con таблицы service_cl с той таблицей которая содержит наименование и id услуги сопоставимое с id услуги указанном в service_cl
А как потом checked проставлять? (Добавление)
Дерево должно быть все выведено...
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.