Php“继续”点击

时间:2014-06-26 05:21:01

标签: php jquery

我在数组中有一些值。首先,我想在我的视图中显示该数组的前两个值,然后我想在某个按钮单击操作后显示剩余值,并将数组索引递增1。 例如:一次单击显示第三个值,然后另一个单击显示第四个。

我怎样才能实现?

$array=[1,2,3,4,5,6,7,8,9];
foreach($array as $a)
{ 
if($a>2)
continue;
echo $a.'<br/>';
}

我第一次想要像

这样的视图
1
2

然后点击一次按钮我需要显示 3然后4然后5。 。

2 个答案:

答案 0 :(得分:2)

这不是PHP的工作原理。

在服务器上运行PHP脚本以构建您的网页。一旦你拥有它,你需要通过再次询问服务器,根据新参数(通过GET或POST获得)重建你的页面。

看起来像那样:

<?php

    $array=array(1,2,3,4,5,6,7,8,9); //That is how you declare an array in PHP

    if(empty($_GET["count"])){ //It's the first time on the page, show the first two elements
        echo $array[0] . ' ' . $array[1];
        echo '<br><a href="page.php?count=1">Next</a>'; //Send to the same page, but now send the count by GET
    }

    else{ //It's not the first time on the page, keep track of how many times the link was clicked
        $count = $_GET["count"];
        echo $array[$count] . ' ' . $array[$count+1];
        $count++;
        echo '<br><a href="page.php?count=' . $count . '">Next</a>';
    }

?>

但你不应该做这样的事情。如果您想与用户进行互动,请在构建完成后以恐怖方式更改页面,您需要查找 Javascript

答案 1 :(得分:2)

正如杰克和你没有提到的那样,你可以使用AJAX。

使用Ajax,您将不得不区分两种情况:

  1. 第一次呈现包含按钮和视图的页面
  2. 您的AJAX代码将获取一个值列表,这些值将替换视图中的旧值列表。
  3. 因此,您最终会得到两个网址:

    1. www.mywebpage.com/app/index.php - &gt;这将提供整页
    2. www.mywebpage.com/app/index.php?action=getNewValues&start=3&to=7 - &gt;这将被视为AJAX调用,并且可能是一个值为3到7的JSON。
    3. 现在您知道如何组织PHP命令处理程序。像

      这样的东西
      ...
      $action = $GET['action'];
      ...
      if ($action == 'getNewValues') {
          ...
          ...
          echo $resultJson;
          exit;
      
      } else if ... {
      
          ...
      
      } else {
      
         $myPageRenderer->renderFullPage();
      
      }
      

      你会找到jQuery.ajax()的许多解释 - 电话,继续:-)这是一个好的开始 http://api.jquery.com/jQuery.ajax/

      当您在列表末尾时,请记得禁用下一个按钮,反之亦然。

      还有第二种方法,即在第一次呈现页面时获取完整的值列表。然后,单击javascript按钮将只从现有列表中选择新值。

      因此,您可以在HTML头部分中使用PHP编写:

      <script type=text/javascript>
         myDataIsland = {
           myListOfValues : <?php echo $myList; ?>
         };
      </script>
      

      像这样,您首先会将您的列表放到页面上。有了所有可用值,Javascript事件代码就可以选择下一个值。

      这里,一个好的方法是首先编写一个表示JSON的字符串,然后在$(document).ready()上编写一个JSON列表来表示JSON对象。像这样,如果PHP提供了一些垃圾,你的页面就不会崩溃。