【发布时间】:2013-02-26 03:03:31
【问题描述】:
好的,所以我有一个 PHP 应用程序,它本质上是用对 XML 文件中元素的引用填充数组,对数组执行 shuffle() 以随机化它,然后循环遍历数组,显示数据来自屏幕上的数组(以及 XML 文件)。
我当前的代码工作正常 - 它填充数组,对其进行随机播放,并显示第 0 个索引(这是随机的)。我的问题在于 我希望能够动态地重新加载页面上的内容,而不会丢失数组中的数据,但不链接到不同的页面。更具体地说,我希望能够通过单击按钮循环遍历数组(无需完全重新加载页面,丢失数组中有价值的数据)。
我尝试使用一些隐藏的表单字段将数组的值加载到临时数组中,然后在页面重新加载时将它们反馈回来,但无济于事。我通过这种方式发现了很多错误,而且这显然是一种快速且肮脏的方式。
基本上,我希望代码做这样的事情:
$heaps_array = array(...); // Populated by, let's say 3 strings, for argument's sake
shuffle($heaps_array);
echo $heaps_array[0];
// User clicks the Next button...
// Get rid of the $heaps_array[0] from the page content, and...
echo $heaps_array[1];
// User clicks the Next button...
// Get rid of the $heaps_array[1] from the page content, and...
echo $heaps_array[2];
// User clicks the Next button...
...
【问题讨论】:
-
也许你在看 AJAX?
-
如果您重新加载页面,数据必须存储:在文件、数据库、会话、cookie 中,通过 post\e\get 以隐藏形式解析。最佳选择取决于您的情况
-
如果订单是随机的,那么您只需要知道用户看到的最后一个,选择一个不包括已经看到的新随机数,这应该是要移动的数据少得多.
标签: php arrays variables dynamic reload