Добавить уникальный итератор к идентификатору div в скрипте

У меня есть скрипт под названием 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>
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, вы можете попробовать это:

//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 в теле, чтобы проверить, похоже, что это действительно работает! Огромное спасибо

Geoff_S 20.08.2018 15:36

Другие вопросы по теме