PHP - 显示更多文章功能反馈

Posted

技术标签:

【中文标题】PHP - 显示更多文章功能反馈【英文标题】:PHP - Show more articles feature feedback 【发布时间】:2015-02-15 09:56:53 【问题描述】:

目前,我有一个文章页面,它读取我的数据库表中的所有文章并打印页面上的每一篇文章,从最近的开始。

但是,我做的系统会长期使用(小公司的学生项目),文章会很多。我不希望用户或服务器必须一次在网页上加载所有文章。我有如何做到这一点的想法,但我想先让其他人实现这个想法。

从概念上讲,我想做的是在页面上加载几篇文章。在底部,会有一个“显示更多”按钮或链接,可以读取并显示数据库中的更多文章(希望无需重新加载页面,但我非常怀疑这是否可行)。

实际上,它可能会是这样的:使用表单,在隐藏字段中存储显示的文章数量,在提交“显示更多”时重新加载页面并使用 $_POST 和 while 循环来显示存储的数字 + a还有几篇文章。下面是一个简化的示例。

<form method="post" action="articlePage.php">
   <?php
   if(isset($_POST["articleCount"]))
      $articleCount = $_POST["articleCount"] + 5;
   
   else
      $articleCount = 5
   

   //Assuming we open the connect, execute the query and then close the connection
   $count = 0;
   while($result = mysqli_fetch_array($selectNews) && $count <= $articleCount)
      echo $result["articleName"] . "<br/>";
      count = count + 1;
   

   echo "<input type='hidden' value='" . $articleCount . '" name='articleCount'/>";
   ?>
   <input type="submit" value="Show more"/>
</form>

我的问题是:

有没有更有效/更好的方法来解决这个问题? 有什么方法可以让我不必重新加载页面?

非常感谢任何提示或信息!我在提问方面有点新手,所以如果有任何遗漏,请告诉我

【问题讨论】:

你听说过ajax吗? 我没有,但是有人发布了一个包含 AJAX 的答案,所以我现在正在查找它! 是的,AJAX 就是答案,谢谢! 【参考方案1】:

您可以将 PHP 代码放在单独的文件中并使用 AJAX 调用它。你可以这样做:

function getArticleCount()
   if(isset($_POST["articleCount"]))
      $articleCount = $_POST["articleCount"] + 5;
   
   else
      $articleCount = 5
   

   //Assuming we open the connect, execute the query and then close the connection
   $count = 0;
   while($result = mysqli_fetch_array($selectNews) && $count <= $articleCount)
      echo $result["articleName"] . "<br/>";
      count = count + 1;
   

   echo "<input type='hidden' value='" . $articleCount . '" name='articleCount'/>";


getArticleCount();

这是一个结合使用AJAX and PHP 的示例,让您感受一下。

【讨论】:

谢谢,看起来很有趣。我会试着理解它(第一次看到 AJAX)并回复你 看起来它可以很好地工作而无需重新加载页面(或者我错了吗?)。但是,AJAX 部分看起来像 javascript,而且我听说使用数据库不安全。我猜因为这不完全是 JS,所以这个谣言不适用? 是的,Ajax 是 JavaScript。您的 JavaScript 不会访问您的数据库,PHP 会。您可以在 PHP 代码中保护您的数据库。 太棒了,这就是我喜欢编程的原因 XD 谢谢!

以上是关于PHP - 显示更多文章功能反馈的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 显示用户名或密码反馈消息

在WordPress中显示具有自定义摘录长度和自定义阅读更多文本的文章

什么是字体显示 CSS 功能?

jQuery+php+Ajax文章列表点击加载更多功能

7-05日报

如何使用 PHP 显示从 MySQL 数据库中获取的更多文本