Как получить уникальный идентификатор для Div Boxes, сгенерированный из MySQL - PullRequest
1 голос
/ 02 мая 2020

это код, который у меня есть:


        $output .= '<div class="col-md-3"><div class="single-post">';
        if ($row["fahrzeugBild"] !== "") {
          $output .= '<img src="img/cars/'.$row["fahrzeugBild"].'.jpg" alt="">';
        }

Вот javascript

function myFunction() {
  var x = document.getElementById("tuning");
  if (x.style.display === "none") {
    x.style.display = "block";
  } else {
    x.style.display = "none";
  }
} 

Я использую его в массиве PHP / sql, и поэтому div, необходимые для отображения / скрытия, генерируются из базы данных. Но когда я использую этот скрипт, он работает только для первого div в массиве .... Так что (я думаю) мне нужно иметь возможность автоматически генерировать уникальный идентификатор для каждого div. но вот проблема, я не знаю как, и да, мой код выглядит как беспорядок, но я все еще учусь php, так что прости меня за это. Любая помощь будет потрясающей.

1 Ответ

0 голосов
/ 02 мая 2020

Попробуйте с этим:

PHP

$customId = random_int(10000, 99999);
        $output .= '<p><button onclick="myFunction('.$customId.')">Show/Hide</button><div id="tuning'.$customId.'" style="display:none;">Tuning Details</p>';

и в вашем Javascript:

function myFunction(customId) {
  var x = document.getElementById("tuning"+customId);
  if (x.style.display === "none") {
    x.style.display = "block";
  } else {
    x.style.display = "none";
  }
} 

ОБНОВЛЕНИЕ : идеально вместо этого вы можете назначить уникальный идентификатор вместо случайного числа, например, если в вашей базе данных каждый элемент имеет автоинкрементный идентификатор, вы можете использовать этот автоинкрементный идентификатор, предпочтительно, и назначить его каждому div

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...