我刚刚开始学习PHP,并且我有一些关于如何使用该语言并完成特定任务的概念性问题。
我的问题:假设我正在使用PHP为博客构建CMS。在主页上,我想有三篇文章显示我在名为is_featured的字段的后端标记为“FEATURED”。
这是我提出的解决方案,我想知道这是否可以使用PHP,如果它是实用的,或者是否有更好,更有效的方法:
我会使用foreach循环来循环遍历所有$文章作为$ article,然后检查该文章是否具有字段is_featured的FEATURED值。
答案 0 :(得分:2)
在实践中,文章(可能希望)存储在表articles
中的数据库中。您将在数据库中查询所有文章... WHERE featured = 1 LIMIT 3 ORDER BY publishing_date DESC
,然后遍历数据库结果集并输出所有找到的文章。
答案 1 :(得分:0)
这会奏效,是的。但是,这会产生一个开销,即用数据库中的所有文章填充一个可能很大的数组,然后通过它迭代来选择特色文章。
对于这种任务,最好让数据库在将结果发送给PHP之前过滤结果。
答案 2 :(得分:0)
通常,尝试对数据库中的所有数据进行过滤,因为数据库是专门针对此类查询进行优化的。将它们加载到PHP中然后过滤记录会更慢,效率更低。