Общее количество раз, когда HTML-див используется в скрипте PHP? - PullRequest
0 голосов
/ 30 ноября 2018

Я опросил более 40 человек, и я хотел бы показать это, сказав это с помощью скрипта PHP.

Каждое интервью, конечно, имеет свою собственную группу CSS-классов, и я могу легко добавитьдополнительный класс или используйте один из существующих, чтобы узнать общее количество div.

Вот пример интервью:

  <div class="resume-item d-flex flex-column flex-md-row mb-5">
    <div class="resume-content mr-auto">
      <h3 class="mb-0">A.N. Other</h3>
      <div class="subheading mb-3">Intelligence Analysis Masters Student</div>
      <p>Interview Q&A Goes Here</p>
    </div>
    <div class="resume-date text-md-right">
      <span class="text-primary">June 2017</span>
    </div>
  </div>

Я думаю использовать что-то вроде PHP substr_count () Функция для достижения этой цели ...?

Все интервью находятся на одной статической HTML-странице.

Может кто-нибудь, пожалуйста, укажите мне правильное направление для этого, пожалуйста?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Поскольку вы используете HTML, а HTML уже находится в DOM, вы захотите использовать для этого сторону клиента (javascript), а не язык сервера.Если каждому человеку назначен класс resume-item, используйте javascript для подсчета каждого из этих классов.

// Get total of all the resume-item divs
count = document.querySelectorAll('.resume-item').length;

// Insert that total in the total-count div
document.getElementById('total-count').innerHTML = count;
<div class="resume-item d-flex flex-column flex-md-row mb-5">
  <div class="resume-content mr-auto">
    <h3 class="mb-0">A.N. Other</h3>
    <div class="subheading mb-3">Intelligence Analysis Masters Student</div>
    <p>Interview Q&A Goes Here</p>
  </div>
  <div class="resume-date text-md-right">
    <span class="text-primary">June 2017</span>
  </div>
</div>
<div class="resume-item d-flex flex-column flex-md-row mb-5">
  <div class="resume-content mr-auto">
    <h3 class="mb-0">A.N. Other</h3>
    <div class="subheading mb-3">Intelligence Analysis Masters Student</div>
    <p>Interview Q&A Goes Here</p>
  </div>
  <div class="resume-date text-md-right">
    <span class="text-primary">June 2017</span>
  </div>
</div>

<!-- put this div where you want the count to be -->
<div id="total-count"></div>
0 голосов
/ 30 ноября 2018

Я бы сохранил информацию в массиве, чтобы вы могли сделать sizeof и получить количество проведенных вами интервью.

Как хранить интервью

<?php
$interviews = array(
  [
    'title' => 'A.N. Other',
    'subheading' => 'Intelligence Analysis Masters Student',
    'q-and-a' => 'Interview Q&A Goes Here',
    'date' => 'June 2017',
  ],
  [
    'title' => 'another entry',
    'subheading' => 'blah blah blah',
    'q-and-a' => 'blah blah blah',
    'date' => 'blah blah blah',
  ],
);
?>

Как отображать интервью

<?php
foreach( $interviews as $interview ):
?>
  <div class="resume-item d-flex flex-column flex-md-row mb-5">
    <div class="resume-content mr-auto">
      <h3 class="mb-0"><?php echo $interview['title']; ?></h3>
      <div class="subheading mb-3"><?php echo $interview['subheading']; ?></div>
      <p><?php echo $interview['q-and-a']; ?></p>
    </div>
    <div class="resume-date text-md-right">
      <span class="text-primary"><?php echo $interview['date']; ?></span>
    </div>
  </div>
<?php
endforeach;
?>

Как отображать количество для интервью

<?php
echo sizeof( $interviews );
?>

Почему вы не можете считать статический HTML с помощью PHP

PHP рендерится на сервере.Таким образом, если бы вы подсчитали количество интервью, то вам следует просканировать саму страницу до того, как вы предоставили контент, что было бы возможно, но это было бы беспорядок.Если вы настаиваете на сохранении вашего контента в виде статического HTML, я бы предложил вместо этого использовать JavaScript для подсчета количества элементов - например, предоставив класс для всех внешних контейнеров для ваших интервью, а затем сделав что-то , подобное этому.PHP не подходит для этого.

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