Различная разметка, основанная на выводе foreach

Я пытался понять это в течение нескольких дней, но, к сожалению, пока не повезло. Я хочу сортировать встречи на основе категории / типа и помещать их в отдельные элементы. Например:

Мой цикл foreach генерирует флажок ввода для каждого доступного назначения типа ‘нормальный‘ а также ‘специальный».

Теперь я могу получить список ВСЕХ встреч с:

print $apptOutput;

Это выводит список встреч, которые пользователи могут выбрать, используя флажки:

  • 30-08-16 11:05 Специальный
  • 31-08-16 09:55 Специальный
  • 31-08-16 20:05 Нормальный
  • 01-09-16 20:00 Нормально
  • 02-09-16 20:05 Нормальный

То, что я пытаюсь сделать, это дать каждой категории отдельный div, чтобы вывод был разделен. Например, я хочу, чтобы это было так:

<div id="normal">
<label for="normal">Normal</label>
<?php print $apptOutput; ?>
</div>

И для особых:

<div id="special">
<label for="special">Special</label>
<?php print $apptOutput; ?>
</div>

0

Решение

Вы не можете легко решить проблему на стадии, которая у вас есть $appOutput если это уже сгенерированный HTML. Вам нужно решить это в тот момент, когда вы генерируете $appOutputпотому что тогда легче определить, какие вещи Специальный и которые Нормальный.

Допустим, вы получаете эти данные из базы данных. В тот момент, когда вы просматриваете набор результатов из своей базы данных, вы можете поместить каждый элемент в отдельный ключ массива на основе этого критерия Специальный а также Нормальный, упрощая генерацию вывода каждого типа элемента в его собственный элемент div.

$data = [
"Special" => [],
"Normal"  => [],
];
// $resultSet being your database result set or however you get the data
foreach($resulSet as $result) {
if ($result["type"] == "Special") {
$data["Normal"][] = $result;
} elseif ($result["type"] == "Normal") {
$data["Special"][] = $result;
}
}

Теперь в вашем шаблоне вы можете легко сгенерировать результат.

<div id="normal">
<?php foreach($data["Nomral"] as $item) { ?>
<label for="normal"><?=$item['name']?></label>
<input type="checkbox" ...>
<?php } ?>
</div>

<div id="special">
<?php foreach($data["Special"] as $item) { ?>
<label for="normal"><?=$item['name']?></label>
<input type="checkbox" ...>
<?php } ?>
</div>
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]