У меня есть скрипт под названием widgets.php, который в основном вставляет вкладки с контентом в несколько модальных окон на моей странице. Визуально это работает, но поскольку на моей странице есть несколько модальных окон, это работает только для первого модального окна на странице. Я думаю, мне нужно добавить цикл к этому сценарию ниже, чтобы независимо от того, в каком модальном режиме он находится, к идентификаторам div добавляется уникальный номер
Я поместил идентификатор итератора $n_id, повторил его в идентификаторах div и их вызове в заголовке вкладки и увеличил его в конце скрипта, но теперь я застрял в том, как именно мне нужно выполнить цикл.
Обычно после того, как что-то выбрано, оно попадает в другой div с собственным идентификатором для вставки в базу данных, поэтому мне не нужно об этом беспокоиться. Мне просто нужно убедиться, что если на странице есть 4 модальных окна с этой функцией, каждый вызов вкладки будет работать для этого отдельного модального окна.
Сценарий:
widgets.php
//create iterator to add ID
<?php $n_id = 0;>
<ul class = "nav nav-tabs card-header-tabs">
<li class = "nav-item">
<a data-toggle = "tab" class = "nav-link active" href = "#images<?php echo $n_id?>">
<h3>Images</h3></a>
</li>
<li class = "nav-item">
<a data-toggle = "tab" class = "nav-link" href = "#widgets<?php echo $n_id?>"><h3>Widgets</h3></a>
</li>
</ul>
<div class = "tab-content">
<div id = "images<?php echo $n_id?>" class = "tab-pane fade show active">
<?php foreach ($imageResult as $im): ?>
<?php if ($im['type'] == 'content'){?>
<img src = "<?php echo $im['url']; ?>" style = "max-width:200px; max-height:200px;">
<?php } ?>
<?php endforeach?>
</div>
<div id = "widgets<?php echo $n_id?>" class = "tab-pane fade">
</div>
</div>
<?php $n_id++;?>
testPage.php
<div class = "modal">
<?php include 'widgets.php'?>
</div>






Я думаю, вы можете попробовать это:
//create iterator to add ID
<?php
if ( !empty($_SESSION['nb_id']) ){
$_SESSION['nb_id']++;
}
else{
$_SESSION['nb_id']=0;
}
$n_id = $_SESSION['nb_id'];
?>
<ul class = "nav nav-tabs card-header-tabs">
С помощью этого трюка у вас будет инкрементный идентификационный номер, если вы включите его несколько раз.
Потому что с вашим кодом вы всегда перезапускаете свой ID до 0, когда включаете свой скрипт.
Или вы можете просто сделать это:
<?php
//-- check if exists to avoid reset at each time the code was include
if ( !isset($n_id) )
$n_id = 0;
?>
С уважением,
Ничего себе, только что протестировал это и повторил ID в теле, чтобы проверить, похоже, что это действительно работает! Огромное спасибо