Php 如何创建动态无序列表,但将选定结果保留在顶部
我正在创建一个动态更新的HTML/CSS列表,但是列表中的每个新项目都会放在列表的顶部。我是否可以将列表中的某个项目固定/粘贴在顶部,并将列表中新增的每个项目放置在顶部固定的项目下 下面是负责向列表中添加项目的php和html代码Php 如何创建动态无序列表,但将选定结果保留在顶部,php,html,css,Php,Html,Css,我正在创建一个动态更新的HTML/CSS列表,但是列表中的每个新项目都会放在列表的顶部。我是否可以将列表中的某个项目固定/粘贴在顶部,并将列表中新增的每个项目放置在顶部固定的项目下 下面是负责向列表中添加项目的php和html代码 <ul class="list-items"> <?php foreach($jobs[$category->id] as $job): ?> <li> <a class="list-group-item tabledi
<ul class="list-items">
<?php foreach($jobs[$category->id] as $job): ?>
<li>
<a class="list-group-item tabledisplay <?php if ($job->is_featured): ?>job-highlight<?php endif; ?>" href="<?php _e(BASE_URL ."jobs/{$job->id}/". slugify($job->title ." {$lang->t('jobs|at')} ". $job->company_name)); ?>">
<span class="job-company"><?php _e($job->company_name); ?></span>
<span class="job-title"><?php _e($job->title); ?></span>
<span class="badgee pull-right"><?php niceDate($job->created); ?></span>
</a>
</li>
-
像这样的东西就足够了:
<?php
$index = 3;
$featured= $jobs[$index];
unset($jobs[$index]);
?>
<ul>
<li><?= $featured->title ?></li>
<?php foreach($jobs as $job){ ?>
<li><?= $job->title ?></li>
<?php } ?>
</ul>
如果是这种情况,那么我们的任务是从结果集中提取元素或“数据行”,并将设置为true
。另一种方法是有两个查询,一个是针对非特色的,另一个是针对特色的结果,但现在我们只使用一个
为了从数组中提取“特征”对象,我们需要使用其索引将其取消设置。要获得索引,我们可以使用以下内容:
$jobs = [
(object)[
'title' => 'something',
'is_featured' => true,
],
(object)[
'title' => 'whatev',
'is_featured' => false,
],
(object)[
'title' => 'demo',
'is_featured' => false,
],
(object)[
'title' => 'rand',
'is_featured' => false,
]
];
$index = array_search(true, array_column($jobs, 'is_featured'))
接下来,我们使用$index
检索“特色”作业
然后我们将其从初始结果数组中移除。在此之后,$jobs
将不再包含$featured
作业:
unset($jobs[$index]);
最后,我们创建HTML,将$featured
放在顶部,然后循环返回:
<ul>
<li><?= $featured->title ?></li>
<?php foreach($jobs as $job) { ?>
<li><?= $job->title ?></li>
<?php } ?>
</ul>
听起来有可能。您能为当前添加项目的方式创建一个新的主题吗?@Don'tPanic我已经添加了代码。$job
的哪个属性决定了应该将哪个主题固定到顶部?添加到数据库中的每个主题都作为$job放置。项目本身是介于和 之间的所有内容。我会在DB表中添加一个字段pinted
,将应固定在顶部的职位设置为“1”,将其余职位设置为“0”。然后使用orderbypinteddesc,{othersorting…}
对已经在模型阶段的数据进行排序。我不知道你的代码会做什么,你能把它应用到我上面的代码上吗?发布了我提供的代码的分解。检查一下,如果你仍然无法理解,请告诉我。
<ul>
<li><?= $featured->title ?></li>
<?php foreach($jobs as $job) { ?>
<li><?= $job->title ?></li>
<?php } ?>
</ul>