我在数组中有一些值。首先,我想在我的视图中显示该数组的前两个值,然后我想在某个按钮单击操作后显示剩余值,并将数组索引递增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。 。
答案 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,您将不得不区分两种情况:
因此,您最终会得到两个网址:
现在您知道如何组织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提供了一些垃圾,你的页面就不会崩溃。