Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2014, 12:39   #1
limon142
Пользователь
 
Регистрация: 04.11.2013
Сообщений: 48
По умолчанию ПРИСВОЕНИЕ ID

Помогите в решении проблемы
Вывожу картинки с присвоенным id="link_<?php echo $item->lot_id;?>"

КАК СДЕЛАТЬ ЧТОБ В КОДЕ ПОЯВЛЯЛОСЬ

PHP код:

<div class="client_ci_container"  >
<a  id="link_<?php echo $item->lot_id;?>"      style=" text-decoration: none;" 
  
href="#" onclick="show_full(this,
 
Тут id предыдущей картинки если предыдущей нет значит 0,
 
<?php echo $item->lot_id;?>
 
тут id СЛЕДУЮЩЕЙ КАРТИНКИ ЕСЛИ НЕТ ЗНАЧИТ 0

);return false;" >
</div>

Последний раз редактировалось limon142; 29.06.2014 в 12:43.
limon142 вне форума Ответить с цитированием
Старый 30.06.2014, 07:20   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

очевидно, что как-то так
Код:
<?php echo $item->lot_id_prev;?>,
<?php echo $item->lot_id;?>, 
<?php echo $item->lot_id_next;?>
где свойства
$item->lot_id_prev и $item->lot_id_next должны быть вами дописаны и возвращать предыдущее и последующее значение id
больше по вашему коду ничего невозможно сказать....
ADSoft вне форума Ответить с цитированием
Старый 30.06.2014, 07:30   #3
limon142
Пользователь
 
Регистрация: 04.11.2013
Сообщений: 48
По умолчанию

смысл такой мне надо определить id предыдущей и следующей картинки чтоб потом в подробном виде поставить навигацию вперед назад.



Код:
function list (previd,nextid) {
	if(previd && nextid == "-1") {
		jQuery('#link_'+previd).click();
	}else if(nextid && previd == "-1") {
		jQuery('#link_'+nextid).click();
	}else if(!nextid && previd == "-1"){
			}else if(!previd && nextid == "-1"){
			}
}


___________________________________________________
определение id предыдущей картинки, этой, следующей (this,13227850,13227853,13227879)

<a id="link_13227853" title="Футболка" onclick="show_full(this,13227850,13227853,13227879);return false;" href="#">

<!--________________________________________________________-->

function show_full (link,previd,id,nextid)
{
<!--код расширенного вида-->
..............................
<!--навигация в подробном виде-->
<div style="float: left; margin-top: 30%;"><a href="#" onclick="list('+previd+',-1); return false;" style="font-size: 50px; text-decoration: none;"><</a></div>

<div style="float: left; margin-top: 30%;"><a href="#" onclick="list(-1,'+nextid+'); return false;" style="font-size: 50px; text-decoration: none;">></a></div>

}
по средствам PHP у меня выводится id только существующих картинок

Если есть более простой способ с навигацией подскажите.

Последний раз редактировалось limon142; 30.06.2014 в 07:41.
limon142 вне форума Ответить с цитированием
Старый 30.06.2014, 08:47   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

все равно сложно понять что у вас уже есть
....
что вам нужно - это понятно
а вот в подробной версии когда выводите - неужели там же выводите следующую и предыдущую картинку? если да - то проблем с их id быть не должно
если этих id на странице нет вообще - их нужно будет передать именно с помощью php реализовав те свойства(методы) о которых я писал ранее
ADSoft вне форума Ответить с цитированием
Старый 30.06.2014, 09:06   #5
limon142
Пользователь
 
Регистрация: 04.11.2013
Сообщений: 48
По умолчанию

весь код расширенного вида с вставленной навигацией

PHP код:
function show_full (link,previd,id,nextid)
{    var 
wheight get_wh();
    
lots[id].big_curImg=0;
    var 
html "";
    
html += '<div class="full_results" style="margin-top:50px; padding: 5px; height:'+(wheight-100)+'px;overflow: auto;"><div style="float: left; margin-top: 30%;"><a href="#" onclick="list('+previd+',-1); return false;" style="font-size: 50px; text-decoration: none;"><</a></div>';
    
html += '<div style="float: left; width:92%;"><table style="height: 30px;" class="pl"><tr>';
    
html += '<td class="head w100"><a href="/index.php?option=com_spcatalog&view=catalog&id='+lots[id].purchase_id+'&lot_id='+lots[id].id+'">'+esc_tagslots[id].name)+'</a></td>';
    
html += '<td class="text"><a href="#" onclick="return close_full();" title="Закрыть">Закрыть</a></td>';
    
html += '</tr></table>';
        
html += '<div style="height: '+(wheight-160)+'px;overflow: auto;"><table class="w100">';
        
html += '<tr>';
        
html += '<td style="width: 360px;">';
        
html += '<div title="Закрыть" style="text-align:center"><a href="#" onclick="return close_full();">';
        
html += '<img id="bigimage_'+id+'" src="'+item_image_url(id)+'"';
        
html += 'style="margin:5px;max-width: 350px;width:expression(document.body.clientWidth > 350? \'350\' : \'auto\');max-height: '+(wheight-170)+'px;height:expression(document.body.clientHeight > '+(wheight-170)+'? \''+(wheight-170)+'\' : \'auto\');"></a></div>';
        
html += '<td valign=top><div style="overflow: auto;"><table class="desc"><tr><td>';
        
html += '<h2 class="green">'+esc_tagslots[id].name)+'</h2>';
        
html += '<div>Цена: <span class="red em14">'+format_money(esc_tags(lots[id].price))+'</span> (без учета орг%)</div>';
        
html += '<div>%(орг): '+format_money(esc_tags(lots[id].org_fee))+'</div>';
          
html += '<div class="text"><strong>Описание:</strong></div><div>'+esc_tags2lots[id].desc ).replace(/\[br\]/gi,"<br>")+'</div>';
        var 
vars lots[id].vars;
        var 
opt_idx 0;
        for (
v in vars)
        {
            
html +=    make_option_for_full"lot" id "_opt" opt_idxvvars[v]);
            
opt_idx ++;
        } 
        
html += '<div><strong>Кол-во (макс. 10):</strong> ';
        
html += '<input name="kol" id="lot_kol" type="TEXT" value="1" style="width: 50px"></div>';
        
html += '<div id="bigimages_pages_'+id+'">'+make_bigimg_selector(id)+'</div>';
        
html += '</td>';
        
html += '</tr>';
        
html += '</table></div>';
        
html += '</td>';
        
html += '</tr>';
        
html += '</table></div>';
              
html += '<table style="height: 30px;" class="pl">';
        
html += '<tr>';
        
html += '<td><a href="javascript:add_to_order(' id ',1,0,'+format_money(esc_tags(lots[id].price))+');" title="Добавить в корзину"><strong>Добавить&nbsp;в&nbsp;корзину</strong></a></td>';
        
html += '<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>';
        
html += '</tr>';
        
html += '</table>';
                
html += '</div><div style="float: left; margin-top: 30%;"><a href="#" onclick="list(-1,'+nextid+'); return false;" style="font-size: 50px; text-decoration: none;">></a></div></div>';
document.getElementById('full_results').innerHTML html;
if(
jQuery('#bg').is(':visible') == false) {
jQuery('#bg').fadeIn(300);
jQuery('#full_results').fadeIn(300);    }};
function 
close_full () {
    
document.getElementById('full_results').style.display "none";
    
document.getElementById('bg').style.display "none";
    return 
false;    
}; 
не в расширенном виде у каждой картинке есть свой id как показано в самом верху.

Код:
<div class="client_ci_container"  >
<a  id="link_<?php echo $item->lot_id;?>"      style=" text-decoration: none;" 
 href="#" onclick="show_full(this,<?php echo $item->lot_id;?>);return false;" >
</div>
Когда открываем галерею то видим картинки с присвоенным id этих картинок, при нажатии на картинку появляется расширенный вид с описанием и т.д.
Как я понимаю мне надо вытащить id картинок из рядом стоящих картинок

Вот пример сайта уже с установленной навигацией [url.]http://spclub42.ru/index.php?option=com_spcatalog&view =catalog&id=31605[/url.]

Последний раз редактировалось limon142; 30.06.2014 в 09:24.
limon142 вне форума Ответить с цитированием
Старый 30.06.2014, 11:32   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

по смыслу того что вы приводите имеем следующее:
есть функция
Код:
show_full (link,previd,id,nextid)
передается 4 параметра!
а в коде вы вызываете
Код:
 onclick="show_full(this,<?php echo $item->lot_id;?>);return false;" >
отсюда вытекает следующее или
Код:
echo $item->lot_id
выдает нам строку с тремя числами - id картинок (или должна, но не выдает)
отсюда нужно смотреть объект $item
попробуйте выдать print_r($item) чтоб посмотреть структуру и данные данного объекта

других способов получать данные об id в полной версии я пока не вижу
ADSoft вне форума Ответить с цитированием
Старый 01.07.2014, 15:45   #7
limon142
Пользователь
 
Регистрация: 04.11.2013
Сообщений: 48
По умолчанию

смысл такой страница у меня формируется динамически соответственно в коде

вот код динамической верстки
Код:

<?php if (is_array($this->items)){ ?>
	
	
	
	
	<?php foreach ($this->items as $item){ ?>
	
		
			

<div class="client_ci_container"  >
<a  id="link_<?php echo $item->lot_id;?>"      style=" text-decoration: none;"  
 href="#" onclick="show_full(this,<?php echo $item->lot_id;?>);return false;" title="<?php echo $item->lot_name;?> подробнее">
<div class="client_ci_container_inner">
<div style="padding:2px 0px; height:37px; overflow: hidden;">
		<P style="color:#3333CC;font-weight:bold;"> <?php echo $item->lot_name;?></P>
		</div>
		<div class="client_ci_img_container" style="height:200px;padding:5px;">
				<div class="w100">
					<center>
					<img id="item_<?php echo $item->lot_id;?>" class="img" style="max-height: 175px; max-width: 175px; " src="<?php echo $item->image_url;?>" />
		</center>
		</div>
		</div>
		</div>
		</a>
		</div>
	<?php }?>
	<?php }?>
соответственно
Код:
<?php echo $item->lot_id;?>
- это id одной картинки
Код:
<?php echo $item->lot_name;?>
- это имя одной картинки
Код:
<?php echo $item->image_url;?>
- это адрес одной картинки

и формируется картинки динамически :

Цитата:
имя картинки1
id картинки1
адрес картинки1

имя картинки2
id картинки2
адрес картинки2

имя картинки3
id картинки3
адрес картинки3
а мне надо чтоб вывод был :

Цитата:
имя картинки1
id картинки0 id картинки1, id картинки2
адрес картинки1


имя картинки2
id картинки1, id картинки2, id картинки3
адрес картинки2



имя картинки3
id картинки2, id картинки3, id картинки0
адрес картинки3

Последний раз редактировалось limon142; 01.07.2014 в 15:51.
limon142 вне форума Ответить с цитированием
Старый 01.07.2014, 16:01   #8
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

вижу два варианта
1) в запросе!! который формирует вам результат в $this->items
получать все эти 3 ид
2) заранее пробегать $this->items в цикле и готовить еще эти два id

Код:
$arr=array(0);
foreach ($this->items as $item)
{$arr[].= $item->lot_id;}  //сформировали массив ВСЕХ id
$arr[].=0; //+  концевые 0

// в основном выводе как то так
$i=0;
foreach ($this->items as $item)
{
 echo $arr[$i].",".$item->lot_id.",".$arr[$i+2];
 $i++;
}
за синтаксис и ошибки не проверял.. главное хотел смысл донести

Последний раз редактировалось ADSoft; 01.07.2014 в 16:09.
ADSoft вне форума Ответить с цитированием
Старый 01.07.2014, 16:13   #9
limon142
Пользователь
 
Регистрация: 04.11.2013
Сообщений: 48
По умолчанию

вот в этом и проблема, я в этом слабоват и как сделать не представляю даже.
limon142 вне форума Ответить с цитированием
Старый 01.07.2014, 16:29   #10
limon142
Пользователь
 
Регистрация: 04.11.2013
Сообщений: 48
По умолчанию

по вашему примеру получается вот ток если много картинок

Цитата:
0,270707,270708270707,270708,270709 270708,270709,270710270709,270710,2 70711270710,270711,270712270711,270 712,270713270712,270713,27071427071 3,270714,270715270714,270715,270716 270715,270716,270717270716,270717,2 70718270717,270718,270719270718,270 719,270720270719,270720,27072127072 0,270721,270722270721,270722,270723 270722,270723,270724270723,270724,2 70725270724,270725,270726270725,270 726,270727270726,270727,27072827072 7,270728,270729270728,270729,270730 270729,270730,270731270730,270731,2 70732270731,270732,270733270732,270 733,270734270733,270734,27073527073 4,270735,270736270735,270736,270737 270736,270737,270738270737,270738,2 70739270738,270739,270740270739,270 740,270741270740,270741,27074227074 1,270742,270743270742,270743,270744 270743,270744,270745270744,270745,2 70746270745,270746,270747270746,270 747,270748270747,270748,27074927074 8,270749,270750270749,270750,270751 270750,270751,270752270751,270752,2 70753270752,270753,270754270753,270 754,270755270754,270755,27075627075 5,270756,270757270756,270757,270758 270757,270758,270759270758,270759,2 70760270759,270760,270761270760,270 761,270762270761,270762,27076327076 2,270763,270764270763,270764,270765 270764,270765,270766270765,270766,0
limon142 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Присвоение значения. ImmortalAlexSan Общие вопросы .NET 4 03.10.2012 11:48
Присвоение значений SilentM Общие вопросы C/C++ 4 15.09.2011 13:10
присвоение значения Stjernen Microsoft Office Excel 5 04.01.2010 14:44
присвоение номера С++ Annabel Помощь студентам 13 15.11.2009 23:44
Присвоение ID artemavd БД в Delphi 2 20.04.2009 14:45