php - 如何在 html 列表中生成动态文本
问题描述
我需要根据来自数据库的数据数量生成动态文本。
在 html List中,我需要显示以下文本作为示例:
- A组
- B组
- C组
如果来自 DB 的记录数量只有 1000 条,则只显示一个项目列表。1000 条记录等于 1 个项目列表。
必须如上所述动态更改文本。列表中的每个文本显示 1000 条记录。
下面的代码静态显示11项
我对下面的代码进行了几次尝试,但仍然无济于事。
此代码有效,但仅显示静态文本。
$return .= "<div id='test_id'><ul>";
// $qty = 10424 / $limit = 1000
// $tabs = $qty / $limit = 10,424
$tabs = $qty/$limit;
for ($i=0; $i < $tabs ; $i++)
{
$start = $i * $limit + 1;
$end = ($i + 1) * $limit;
$color = 'classpA';
$message = '<small>GROUP A</small>';
if ($i < $tab_selected) {
$color = 'classB';
$message = 'RESERVED';
}
$active = $i == $tab_selected ? "active" : "";
$return .= "<li class='tab {$color} {$active}' tab-id='#tab-".$i."'>
<span class='available {$color}_text'><small>{$message}</small></span>
<a href='#' class='{$color}_text'>".$start." - ".min($end,$qty)."</a></li>";
}
$return .= "</ul></div>";
这就是我试图应用的逻辑
$qty = 18424;
$limit = 1000;
$tabs = ($qty / $limit);
$group = $tabs / $limit;
$alphabet = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
for($i = 0; $i < $group; $i++) {
echo "Group {$alphabet[$i]}".'<br>';
}
echo 'Qtd Group= '.$group.' Value Var Tabs= '.$tabs;
https://www.tehplayground.com/zyVzmaeYnTyyA4S9
我怎样才能让魔法发生?
解决方案
您的逻辑很好,只是 for 循环的限制似乎计算错误。
现在,对于变量group = (qty/limit)/limit
,您在此处有一个额外的除法限制。
无论您对该部门的需求是什么,您都可以简单地使用tabs
for 循环条件中的值,或将其分配给另一个临时变量,由您决定。
for($i = 0; $i < $tabs; $i++) {
echo "Group {$alphabet[$i]}".'<br>';
}
干杯!
推荐阅读
- css - 我可以从接口创建联合类型吗?
- async-await - 使用异步 ADO.NET 调用填充 DataSet 会引发 InvalidOperationException
- python - 使用 vscode 部署 ml 模型时出现错误 docker image build failed
- docker - Docker 错误:/usr/local/bin/docker-entrypoint:第 7 行:/usr/local/bin/env2yaml:无法执行二进制文件
- scala - 如何在多列上对数据帧进行分区并将输出写入 Apache Spark 中的 xlsx
- android - 如何使用 Android ViewModel 实现 Arrow Kt?
- python - 当 django 中的 setti gs.py 中的 DEBUG=false 时,媒体图像未加载到模板页面中
- php - 为什么 php openssl_encrypt 在 wordpress 模块中返回空字符串
- azure-devops - 无法创建敏捷过程的副本
- count - Splunk 根据价值计算连续事件?