S1egh4rdt
@S1egh4rdt
Вот я тип

FancyBox ломает цикл php. Как решить?

В общем из базы данных MySQL беру данные. Пытаюсь через цикл в php вывести их структурированно, но в моментах, где юзаю FancyBox у меня ломается цикл (переменная всегда равна начальному значения цикла). Вот кусок кода:
<?php
					for($i=0; $i<3; $i++)
					{
						echo '
						<div class="col-md-4 EinWare">
	               			<h3>'.$all_products[$i]['title'].'</h3>
	               			<a class="Produktbeschreibung" href="#produkte1"><img src="/image/Katalog/'.$all_products[$i]['image'].'" class="Einzug3 imaginator2"></a>
	               			<p>'.$all_products[$i]['description'].'</p>
	               			<p class="price">Цена: '.$all_products[$i]['price'].' рублей</p>
	               			<a class="Produktbeschreibung" href="#produkte1">Подробнее</a>
							<form class="variants" action="#">
								<input type="submit" class="buy btn btn-custom" value="Купить" data-result-text="Куплено"/>
							</form>
	          			</div>
	          			<div style="display: none;">//в этом блоке
							<div id="produkte1" class="container-fluid">
								<h3>'.$all_products[$i]['title'].$i.'</h3>
								<div class="col-md-3">
									<img src="/image/Katalog/'.$all_products[$i]['image'].'" class="Einzug3 imaginator2">
								</div>
								<div class="col-md-6">
									<p>'.$all_products[$i]['full_description'].'</p>
</p>
									<p>'.$all_products[$i]['description'].'</p>
			               			<p class="price">Цена: '.$all_products[$i]['price'].' рублей</p>
									<form class="variants" action="#">
										<input type="submit" class="buy btn btn-custom" value="Купить" data-result-text="Куплено"/>
									</form>
								</div>
							</div>
	          			</div>';
	          			}
	          			?>

Ах да, чуть не забыл.. У меня 2 либы JQuery подключены одна для Bootstrap, другая для FancyBox. Но я проверил, если одну отключить все также остается.

P.S.
все решил. проблема была в том, что id для вызова FancyBox был один и тот же. Я добавил переменную в id и в цикле он стал меняться. Проблема решилась. Вот измененные строчки кода
<a class="Produktbeschreibung" href="#produkte'.$i.'"><img src="/image/Katalog/'.$all_products[$i]['image'].'" class="Einzug3 imaginator2"></a>
...
<a class="Produktbeschreibung" href="#produkte'.$i.'">Подробнее</a>
...
<div id="produkte'.$i.'" class="container-fluid">
  • Вопрос задан
  • 242 просмотра
Пригласить эксперта
Ответы на вопрос 1
arutyunov
@arutyunov
Mooza.ru — Делаем сайты
У вас какая-то каша и в голове, и в коде.
Fancybox (если вы говорите о библиотеке, которая позволяет "красиво" увеличивать изображения на странице) никак не влияет на php, потому что фенсибокс работает в браузере, а php работает на сервере.

И код лучше писать так, чтобы его было легче читать:
<?php for($i=0; $i<3; $i++) { ?>
    <div>
        ... 
        <?= $all_products[$i]['title'] ?>
        ...
    </div>
<?php } ?>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы