|
|
16.06.2015, 09:33
|
|
zhenya_mzmo
Зарегистрирован: 2006-11-08
Сообщений: 40
|
Здравствуйте. Пытаюсь создать компонент добавления в раздел сертификатов и лицензий.
В итоге должен получится такой код:
Код:
*Префикс обекта*
<div id='gallery'>
*Объект в списке*
<h1>Sertificate_Name(id1)</h1>
//Соответствующие этому виду сертификатов фото (реализуется галереей мал.изображение - ссылка на большое изображение)
<a href='$f_Pic_Big'><img alt='Сертификаты и лицензии' title='$f_Name' src='$f_Pic'></a>
<a href='$f_Pic_Big'><img alt='Сертификаты и лицензии' title='$f_Name' src='$f_Pic'></a>
<h1>Sertificate_Name(id2)</h1>
<a href='$f_Pic_Big'><img alt='Сертификаты и лицензии' title='$f_Name' src='$f_Pic'></a>
<a href='$f_Pic_Big'><img alt='Сертификаты и лицензии' title='$f_Name' src='$f_Pic'></a>
*Суффикс обекта*
</div>
Поле Sertificate - список, создала список Sertificate, внесла туда 11 видов возможных сертификатов.
Теперь при добавлении пользователем сертификата, им заносятся:
• название сертификата (Name) • мал.фото (Pic) • бол.фото (Pic_Big) • выбирается из списка соответствующий вид вносимого сертификата.
Проблема вот какая, так как я не сведуща в данных делах, пытаюсь прописать в "Объекте в списке" присвоение для выбранного пользователем вида сертификата фото.мал со ссылкой на фото бол.
Я так понимаю, что необходимо организовать цикл по элементам запроса выборки из таблицы списка (Classificator_Sertificate), и на каждом его шаге делать запрос к таблице компонента, выбирая те записи, значения поля списка которых равно текущему значению, полученному на внешнем цикле. Понимать понимаю, прописать не умею)))
Пишу так:
*Объект в списке*
Код:<? $Sertificate = $nc_core->db->get_results("SELECT Sertificate_Name FROM `Classificator_Sertificate`", ARRAY_A );
foreach ($Sertificate as $item) {
echo " <h1>$item[Sertificate_Name]</h1><a href='$f_Pic_Big'><img alt='Сертификаты и лицензии' title='$f_Name' src='$f_Pic'></a>\n";
}; ?>
Ну и конечно же, у меня получается масло масленное: выводятся все виды сертификатов, к каждому по одной присваиваются фото одинаковые.
Помогите составить правильный цикл к элементам запроса выборки из списка.
korvin
|
|
|
16.06.2015, 09:52
|
|
ipm
Ильин Павел
Зарегистрирован: 2012-10-12
Сообщений: 386
|
Здравствуйте.
Если честно я не понял, что у Вас не получается и что вы в итоге хотите)
Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
|
|
|
16.06.2015, 09:55
|
|
ipm
Ильин Павел
Зарегистрирован: 2012-10-12
Сообщений: 386
|
Вы поля прописываете просто $f_Name ?
Какая у Вас версия системы?
Если 5, то надо обращаться к полям объекта вот так: <?= $f_Name; ?>
Если 4, то ".$f_Name."
Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
|
|
|
16.06.2015, 11:11
|
|
zhenya_mzmo
Зарегистрирован: 2006-11-08
Сообщений: 40
|
Версия 5,5
$f_Name прописаны тут title='$f_Name'
Получается в h1 прописаны все виды сертификатов и каждому присвается одна фотография, которую вношу к определенному виду. Я даже не знаю как по другому сказать, фото присваивается всем видам, а ни тому, к которому относится
korvin
|
|
|
16.06.2015, 11:26
|
|
ipm
Ильин Павел
Зарегистрирован: 2012-10-12
Сообщений: 386
|
Цитата:$f_Name прописаны тут title='$f_Name'
Я имею ввиду вместо $f_Name, нужно писать <?= $f_Name; ?>
Код:*Префикс обекта*
<div id='gallery'>
*Объект в списке*
<h1><?= $f_Sertificate_Name; ?></h1>
//Соответствующие этому виду сертификатов фото (реализуется галереей мал.изображение - ссылка на большое изображение)
<a href='<?= $f_Pic_Big; ?>'><img alt='Сертификаты и лицензии' title='<?= $f_Name; ?>' src='<?= $f_Pic; ?>'></a>
*Суффикс обекта*
</div>
Цитата:Получается в h1 прописаны все виды сертификатов и каждому присвается одна фотография, которую вношу к определенному виду. Я даже не знаю как по другому сказать, фото присваивается всем видам, а ни тому, к которому относится
В списке объектов Вам нужно вывести названия всех сертификатов?
Т.е. каждый отдельный пользователь добавляет по одному сертификату, а Вам надо вывести все эти сертификаты сразу?
Просто в каком виде они должны отображаться?
Вы изменили обращение к переменным с $f_Name на <?= $f_Name; ?> и т.д.?
Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
|
|
|
16.06.2015, 12:08
|
|
zhenya_mzmo
Зарегистрирован: 2006-11-08
Сообщений: 40
|
Мне надо вывести весь список видов, а под каждым <h1> (берутся из списка Sertificate_Name) вывести фото сертификатов, присвоенных при добавлении пользователем исключительно к какому-то из видов сертификатов (Sertificate_Name).
На данный момент добавленное фото, выводится под каждым видом сертификата.
korvin
|
|
|
17.06.2015, 21:48
|
|
Игорь
Игорь Мишарин
Зарегистрирован: 2011-11-20
Сообщений: 482
|
В "Объект в списке" Вам нужно делать SQL-запрос на выборку самих сертификатов (изображения), а не видов сертификатов.
Stark
|
|
|
18.06.2015, 22:59
|
|
ipm
Ильин Павел
Зарегистрирован: 2012-10-12
Сообщений: 386
|
До меня наконец то дошло, что Вам необходимо сделать
Префикс:
Объект в списке:
Код:
<h1><?= $f_Sertificate_Name; ?></h1> // Sertificate_Name - название поля сертификатов в компоненте
<?= listQuery("SELECT * FROM Message".$classID." WHERE ".$f_Sertificate_Name_id."=Sertificate_Name", "<a href='\".nc_file_path($classID, \$data['Message_ID'], 'Pic_Big').\"'><img src='\".nc_file_path($classID, \$data['Message_ID'], 'Pic').\"' alt='\$data[Sertificate_Name]'></a>"); ?>
Суффикс:
Системные настройки:
Код:
<?php
$query_group = "Sertificate_Name";
$distinct = 1;
?>
Сортировать объекты по полю (полям):
Протестировал, всё работает вроде как вам нужно.
Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
|
|
|
22.06.2015, 11:22
|
|
zhenya_mzmo
Зарегистрирован: 2006-11-08
Сообщений: 40
|
Не сработало. Может потому что, Sertificate_Name - это имена внесенных сертификатов в список Classificator_Sertificate. Воот, но меня натолкнуло на мысль, написать условие как у Вас.
Код:<? $Sertificate = $nc_core->db->get_results("SELECT Sertificate_Name FROM 'Classificator_Sertificate' WHERE ".$f_Sertificate_Name_id."=Sertificate_Name", ARRAY_A );
foreach ($Sertificate as $item) {
echo "<h1>$item[Sertificate_Name]</h1><a href='$f_Pic_Big'><img src='$f_Pic' alt='Сертификаты и лицензии' title='$f_Name'></a>\n";
}; ?>
Но снова у меня не работает
Проблема как раз в условии WHERE ".$f_Sertificate_Name_id."=Sertificate_Name"
korvin
|
|
|
22.06.2015, 12:20
|
|
ipm
Ильин Павел
Зарегистрирован: 2012-10-12
Сообщений: 386
|
Наверное будет лучше, если Вы постучитесь ко мне в скайп: ipm-skype
Я попробую разобраться и Вам помочь.
Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
|