首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能在我的网站中钉住一个新的?

我怎样才能在我的网站中钉住一个新的?
EN

Stack Overflow用户
提问于 2013-02-23 20:56:10
回答 2查看 73关注 0票数 1

在我的php新闻脚本

我使用这个代码来显示新闻的标题:

代码语言:javascript
复制
<?php
$sql = mysql_query("SELECT newsid,title FROM news WHERE cat='1' ORDER BY newsid DESC LIMIT 15");
?>

并在数据库中按发送日期显示10条新闻

但我想先看pin 3的新闻:

例如:

newstitle3 (已消瘦) newstitle4 (已消瘦) newstitle6 (已消瘦) newstitle1 newstitle2 newstitle5 newstitle7 ....

您看到3、4和6是固定的新闻,然后显示未固定的新闻

如何在数据库查询中为此新闻显示添加代码?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-23 21:08:10

让我们向前想一步-

考虑到您的站点上可能还有其他需要这种固定项行为的区域-我推荐一个稍微复杂但健壮的解决方案。

设置“固定”项的一种更通用的方法是在数据库中创建一个新的"pinned_items“表。您只提到了新闻条目,但您的站点中可能还有其他区域(可能在将来)也需要这种“固定”行为。

你可以有一个具有这种结构的pinned_items表-

代码语言:javascript
复制
+----+----------+--------+
| id | obj_type | obj_id |
+----+----------+--------+
|  1 |        1 |      1 |
|  2 |        1 |      2 |
|  3 |        1 |      3 |
|  4 |        2 |      4 |
|  5 |        2 |      5 |
|  6 |        2 |      6 |
+----+----------+--------+

obj_type将引用项的类型(假设类型1是新闻项),而obj_id将是对news表的引用。

因此,要检索所有“固定”的新闻条目,您将执行类似于以下内容的查询:

代码语言:javascript
复制
SELECT newsItem.* FROM news AS newsItem
LEFT JOIN `pinned_items` AS pinnedItem ON pinnedItem.obj_id = newsItem.id 
WHERE pinnedItem.obj_type = 1
票数 4
EN

Stack Overflow用户

发布于 2013-02-23 20:57:51

一种简单的方法是在表中添加一个“固定的”字段,然后添加order by pinned, newsid

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15040768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档