php - 如何使用 View 按钮在 Controller 中调整 foreach 的速度?

标签 php javascript html

全部,

我正在使用 MVC 模式构建一个小型 PHP 网站。在我的 Controller 中,我有一系列想要发送到 View 页面的文章。但是,我希望这些文章在 View 中一次显示一篇,并且仅当用户单击多个按钮之一时才更改为下一篇。一个按钮仅允许用户查看下一篇文章,其他按钮允许用户“评分”或认可该文章(此信息被发送回 Controller )继续阅读下一篇文章。

我该怎么做?这些按钮位于一个表单内,每个按钮都附加了 Javascript 函数。代码的简化版本如下所示:

在 Controller 中:

<?php
  $array=array(10,11,12,13,14,15,16);
  $_SESSION['next']=true;
  foreach($array as $a){
    if($_SESSION['next']){
      $_SESSION['next']=false;
      $view=$a;
    }
  }
?>

查看中:

<script type="text/javascript">
  function doOne(){}
  function doTwo(){}
</script>
<form class="ReviewArticles" method='POST' accept-charset="UTF-8" action='index.php?action=reviewArticles'>
<p>
  <textarea rows="4" cols="60" name='article' id='article' WRAP=SOFT>
    <?php
      echo $view;
    ?>
  </textarea>
</p>    
<p>
  <button type="button" name='showNext1' id='showNext1' onclick="doOne()" >Show next 1</button>
  <button type="button" name='showNext2' id='showNext2' onclick="doTwo()" >Show next 2</button>
</p>
</form>

我需要向 Controller 发送一些信息以加载数组中的下一个项目。我还需要发送一些与用户“认可”文章相关的其他数据,并且我希望这些数据一起发生(只需一个按钮)。

最佳答案

我想说你有两个选择:

1) 通过 AJAX 请求拉取文章信息,并在用户希望转到下一篇文章时显示。我认为这是最好的方法,因为它可以保证用户拥有文章的最新版本。

2) 页面加载时将文章信息存储在页面中。即,将数据写入 JavaScript 数组、隐藏的 html 元素或任何您喜欢的方法。当用户点击按钮时,使用页面上存储的数据加载文章。

这能回答你的问题吗?

关于php - 如何使用 View 按钮在 Controller 中调整 foreach 的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13259115/

相关文章:

php - SELECT DISTINCT 名称但返回所有数据

php - 将列表中的变量放入 sql 字符串中

php - 从 Wordpress 获取菜单值

javascript - d3.js 在 v4 中设置属性

javascript - 如何使用 float :left and list-style-type in html? 我有一个代码不起作用 float:left 和 list-style-type

html - 跟随兄弟节点与当前 xslt/xpath

php - Woocommerce 中特定支付网关结账时的附加字段

javascript - jQuery 切换隐藏速度这么快?

javascript - jquery 增加最后一个

javascript - 单击 li 标签时无法将 css 添加到 li 元素