Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> динамический вывод 
:(
    Опции темы
alexey664655
Дата 3.7.2014, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 26.5.2012

Репутация: нет
Всего: нет



Здравствуйте уважаемые форумчане помогите.
Есть динамический вывод галереи 
Код

<?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 }?>


Формируется она так
имя картинки1
id картинки1
адрес картинки1

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

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

интересует меня строка в которой выводится id картинки
Код

onclick="show_full(this,<?php echo $item->lot_id;?>);


Как сделать чтоб в ней отображалось не одно,а 3-и id.
Вот так 
имя картинки1
id картинки0 id картинки1, id картинки2
адрес картинки1


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



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


на начальных и конечных картинках обязательно нулевые по канцам id

PM MAIL   Вверх
krundetz
Дата 3.7.2014, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



 smile 

так у вас и так в цикле все обрабатывается или вы чего то не договариваете?

Это сообщение отредактировал(а) krundetz - 3.7.2014, 16:49


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
alexey664655
Дата 3.7.2014, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 26.5.2012

Репутация: нет
Всего: нет



выводится id только к каждой картинке, а мне надо чтоб вывод был предыдущей, этой и следующей  вот здесь 
Код
onclick="show_full(this,<?php echo $item->lot_id;?>);


таким вот образом 
если первоя картинка(id у них могут быть разные но идут с верху в низ)
onclick="show_full(this,0,1,2);

вторая картинка 
onclick="show_full(this,1,2,3);


Код

Array
(
    [0] => stdClass Object
        (
            [lot_id] => 270707
            [catalog_id] => 4861
            [lot_name] => Пластырь от варикоза и васкулита 38 Fule Vasculitis, 4 шт.
            [lot_cost] => 380.00
            [lot_orgrate] => 15
            [lot_properties] => s:0:"";
            [lot_description] => Варикоз и васкулит Производитель: "Shaanxi Sanba Fule Technology Stock Co., Ltd", Китай
            [lot_url] => 
            [lot_cat] => 
            [lot_img] => a:1:{i:0;s:36:"50e1ec82533b8bde08c36714d42b80f5.jpg";}
            [lot_hidden] => 0
            [lot_bundle] => s:0:"";
            [purchase_id] => 1321
            [catalog_name] => Уход за ногами
            [catalog_orgrate] => 15
            [catalog_properties] => N;
            [catalog_bundle] => 
            [catalog_hide] => 0
            [purchase_name] => Товары из Китая
            [purchase_url] => 2238
            [reserv_id] => 235
            [purchase_description] => ЯГОДЫ ГОДЖИ
 
            [purchases_rule1] => минимальная сумма заказа:5000
            [purchases_rule2] => минимальное количество товара:
            [purchases_rule3] => орг %:15%
            [purchases_rule4] => 0
            [purchases_rule5] => 0
            [purchases_rule6] => Омск
            [purchases_rule7] => 7
            [purchases_rule8] => 
            [purchases_rule8_0] => 1
            [purchases_rule8_1] => 1
            [purchases_rule8_2] => 0
            [purchases_rule9] => 
            [purchase_hvast] => index.php?option=com_kunena&func=view&catid=16&id=332&Itemid=135#332
            [purchase_status_start] => 2014-05-15
            [purchase_status_stop] => 
            [purchase_status_billreciv] => 
            [purchase_status_payto] => 
            [purchase_status_shipping] => 
            [purchase_news] => 
            [purchase_coment] => 
            [payment_info] => 
            [purchase_admin_payment] => 
            [purchase_admin_money] => 
            [open] => 1
            [open_fix] => 0
            [status] => 1
            [arhiv] => 0
            [i_url] => p1027.jpg
            [hide_info] => 0
            [close] => 0
            [open_time] => 1400129447
            [sort] => 0
            [image_url] => images/lots/thumb/50e1ec82533b8bde08c36714d42b80f5.jpg
            [p_yes] => 0
        )
 
    [1] => stdClass Object
        (
            [lot_id] => 270708
            [catalog_id] => 4861
            [lot_name] => Пластырь от косточек на ногах "Hyperosteogeny", 4 шт.
            [lot_cost] => 150.00
            [lot_orgrate] => 15
            [lot_properties] => s:0:"";
            [lot_description] => Пластырь используется 
 
            [lot_url] => 
            [lot_cat] => 
            [lot_img] => a:1:{i:0;s:36:"36971ef5ba51b9a1f96e8eed952d5fd3.jpg";}
            [lot_hidden] => 0
            [lot_bundle] => s:0:"";
            [purchase_id] => 1321
            [catalog_name] => Уход за ногами
            [catalog_orgrate] => 15
            [catalog_properties] => N;
            [catalog_bundle] => 
            [catalog_hide] => 0
            [purchase_name] => Товары из Китая
            [purchase_url] => 2238
            [reserv_id] => 235
            [purchase_description] => ЯГОДЫ ГОДЖИ
            [purchase_description_max] => Всем привет!!! Я Екатерина.
 
            [purchases_rule1] => минимальная сумма заказа:5000
            [purchases_rule2] => минимальное количество товара:
            [purchases_rule3] => орг %:15%
            [purchases_rule4] => 0
            [purchases_rule5] => 0
            [purchases_rule6] => Омск
            [purchases_rule7] => 7
            [purchases_rule8] => 
            [purchases_rule8_0] => 1
            [purchases_rule8_1] => 1
            [purchases_rule8_2] => 0
            [purchases_rule9] => 
            [purchase_hvast] => index.php?option=com_kunena&func=view&catid=16&id=332&Itemid=135#332
            [purchase_status_start] => 2014-05-15
            [purchase_status_stop] => 
            [purchase_status_billreciv] => 
            [purchase_status_payto] => 
            [purchase_status_shipping] => 
            [purchase_news] => 
            [purchase_coment] => 
            [payment_info] => 
            [purchase_admin_payment] => 
            [purchase_admin_money] => 
            [open] => 1
            [open_fix] => 0
            [status] => 1
            [arhiv] => 0
            [i_url] => p1027.jpg
            [hide_info] => 0
            [close] => 0
            [open_time] => 1400129447
            [sort] => 0
            [image_url] => images/lots/thumb/36971ef5ba51b9a1f96e8eed952d5fd3.jpg
            [p_yes] => 0
        )
[2] => stdClass Object
        (


Это сообщение отредактировал(а) alexey664655 - 3.7.2014, 17:05
PM MAIL   Вверх
Aliance
Дата 3.7.2014, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Нужно заменить foreach на for и обращаться к элемента с индексом на единицу меньше и больше текущего.

Что нужно выводить для первой/последней итерации?

И что эта тема делала в разделе для профи?
PM MAIL WWW ICQ Skype   Вверх
alexey664655
Дата 4.7.2014, 05:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 26.5.2012

Репутация: нет
Всего: нет




если заменить  foreach на for то у меня перестает отображаться в галереи картинки, ток как надо менять, наверно сам вывод?
Код

<?php echo $item->lot_id;?>

и
Код

<?php echo $item->image_url;?>


для первой и последней я писал выше, в месте вывода где мне надо поменять выводится сейчас:

 например первая картинка
Код

onclick="show_full(this,1>);


последняя картинка
Код

onclick="show_full(this,5>);


то есть все по порядку
а мне надо  чтоб выводилось 

Код

onclick="show_full(this,0,1,2>);



последняя картинка
Код

onclick="show_full(this,4,5,0>);




PM MAIL   Вверх
_zorn_
Дата 4.7.2014, 06:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: 6
Всего: 12



А ничего, что придется переписывать яваскрипт функцию show_full ?
Видимо ты чего то не понимаешь. Объясни ВНЯТНО чего хочешь добиться (без этих вот "вот тут в коде").

PM MAIL   Вверх
alexey664655
Дата 4.7.2014, 06:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 26.5.2012

Репутация: нет
Всего: нет



так на пальцах все объяснил, надо чтоб в выводе в место одного id выводилось три (предыдущее id картинки, этой и следующей через запятую) и так по порядку, на первой кортике (0-так как перед ней нет картинки, свой id, следующий) на последней картинки (предыдущий id, свой, 0- так как следующей нет)  
PM MAIL   Вверх
_zorn_
Дата 4.7.2014, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: 6
Всего: 12



Где там вывод айдишников то ? Вижу только вызов яваскрипт функции с параметром айди картинки.
Если сделать именно так как ты ПРОСИШЬ - ничего работать не будет, т.к. нужно будет переписывать функцию show_full на прием 4 параметров вместо двух.
Я прошу чтобы ты объяснил чего ты ХОЧЕШЬ добиться.

Цитата
если заменить  foreach на for то у меня перестает отображаться в галереи картинки

Наверное нужно менять ПОНИМАЯ что ты делаешь, не ?
Код

for ($i=0;$i<count($this->items);$i++){
$item = $this->items[$i];
if($i==0) $prev_id = 0;
else $prev_id = $this->items[$i-1]->lot_id;
$cur_id = $item->lot_id;
if(($i+1)>=count($this->items)) $next_id = 0;
else $next_id = $this->items[$i+1]->lot_id;


Это сообщение отредактировал(а) _zorn_ - 4.7.2014, 08:17
PM MAIL   Вверх
Aliance
Дата 4.7.2014, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Я бы все же еще проверял предыдущий/следующий элемент на isset. Ну и count стоит вынести из цикла.
PM MAIL WWW ICQ Skype   Вверх
_zorn_
Дата 4.7.2014, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: 6
Всего: 12



Цитата(Aliance @  4.7.2014,  17:10 Найти цитируемый пост)
Я бы все же еще проверял предыдущий/следующий элемент на isset. Ну и count стоит вынести из цикла. 

На коленке же. Даже не проверял smile
А вообще только isset можно было и обойтись. Ну а вынос count... ну не знаю. Даже если будет выигрыш (компилятор байткода не оптимизирует for ?) то очень смешным.

Это сообщение отредактировал(а) _zorn_ - 4.7.2014, 10:08
PM MAIL   Вверх
alexey664655
Дата 4.7.2014, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 26.5.2012

Репутация: нет
Всего: нет



Спасибо за понимание в мое полном не знание, а в выводе с $item->image_url проблем не будет, проверить пока нечем
PM MAIL   Вверх
Aliance
Дата 4.7.2014, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Цитата(_zorn_ @  4.7.2014,  11:02 Найти цитируемый пост)
Ну а вынос count... ну не знаю. Даже если будет выигрыш (компилятор байткода не оптимизирует for ?) то очень смешным.

эм, смешным на каких цифрах? На массиве в 10 элементов и на сайте, который посещает 1,5 землекопа в сутки - возможно. Но лучше сразу приучать себя писать правильно, чтобы потом можно было без зазрения совести подавать резюме в хайлоад. И даже понимая что топикстартеру вряд ли это пригодится - лучше все же давать правильные советы. если интересно - вот небольшое исследование на эту тему.

Добавлено через 39 секунд
Цитата(alexey664655 @  4.7.2014,  11:42 Найти цитируемый пост)
Спасибо за понимание в мое полном не знание, а в выводе с $item->image_url проблем не будет, проверить пока нечем 

это вопрос? а то вопросительного знака не стоит и не понятно, нужно ли отвечать или это мысли вслух.
PM MAIL WWW ICQ Skype   Вверх
alexey664655
Дата 4.7.2014, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 26.5.2012

Репутация: нет
Всего: нет



Конечно это вопрос? Мыслей у меня пока нет..... 

PM MAIL   Вверх
Aliance
Дата 4.7.2014, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Возьмите и проверьте, если будет - напишите сюда ошибку и вам подскажут. Зачем пальцем-то в небо тыкать?

Но если вы напишите так:
Код

for ($i = 0, $length = count($this->items); $i < $length; $i++) {
    $item = $this->items[$i];
   // ...
    echo $item->image_url;
   // ...
}

а в $this->items будет хранится массив объектов, у которых будет поле image_url - то проблем не будет.
PM MAIL WWW ICQ Skype   Вверх
alexey664655
Дата 4.7.2014, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 26.5.2012

Репутация: нет
Всего: нет



все получилось, прекрасно работает, но появилась маленькая проблемка, при перелистывании страниц картинки не отображаются, подскажите, в чем может быть проблема
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.