基于 foreach 输出的不同标记
Different markup based on foreach output
几天来我一直在努力解决这个问题,但不幸的是到目前为止还没有成功。我想根据 category/type 对约会进行排序,并将它们放在单独的 div 中。例如:
我的 foreach 循环为每个类型为“normal”和“special”的可用约会生成一个输入复选框。
现在我可以获得所有约会的列表:
print $apptOutput;
这会输出一个约会列表,用户可以使用复选框select:
- 30-08-1611:05特别
- 31-08-1609:55特别
- 31-08-16 20:05 正常
- 01-09-1620:00正常
- 02-09-1620: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>
如果问题已经生成HTML,那么在你$appOutput
的阶段,你是无法轻易解决问题的。您需要在生成 $appOutput
时解决它,因为这样可以更容易地识别哪些是 Special 哪些是 Normal.
假设您从数据库中获取这些数据。在您遍历数据库中的结果集时,您可以根据 Special 和 Normal[=24 的条件将每个项目放在不同的数组键中=], 使得更容易将每种类型的项目的输出生成到它自己的 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>
几天来我一直在努力解决这个问题,但不幸的是到目前为止还没有成功。我想根据 category/type 对约会进行排序,并将它们放在单独的 div 中。例如:
我的 foreach 循环为每个类型为“normal”和“special”的可用约会生成一个输入复选框。
现在我可以获得所有约会的列表:
print $apptOutput;
这会输出一个约会列表,用户可以使用复选框select:
- 30-08-1611:05特别
- 31-08-1609:55特别
- 31-08-16 20:05 正常
- 01-09-1620:00正常
- 02-09-1620: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>
如果问题已经生成HTML,那么在你$appOutput
的阶段,你是无法轻易解决问题的。您需要在生成 $appOutput
时解决它,因为这样可以更容易地识别哪些是 Special 哪些是 Normal.
假设您从数据库中获取这些数据。在您遍历数据库中的结果集时,您可以根据 Special 和 Normal[=24 的条件将每个项目放在不同的数组键中=], 使得更容易将每种类型的项目的输出生成到它自己的 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>