2016-03-28 115 views
0

我有一个按钮,用于在用户onClicks之后运行PHP函数。这是使用POST方法实现的(如下图所示)。用户点击按钮并且PHP功能正常运行,但是,我希望用户能够多次单击该按钮并使该功能多次运行。该函数不能覆盖其最后的结果/结果(所以基本上,每次用户单击该按钮时都会回显/打印结果,并且以前的结果不会被覆盖)。在onClick之后多次运行PHP函数的按钮(不只是一次)

这里是我的代码部分,如下所示:

<?php 
 
     function onClickArchive($detail_locator){ 
 
     for ($x = 0; $x <= 34; $x++) { 
 
\t \t \t echo "<li><br />"; 
 
\t \t \t kal_generator($detail_locator); 
 
\t \t \t echo "</li>"; 
 
\t } 
 
\t \t 
 
     } 
 
\t 
 
\t if(isset($_POST['load_more'])){ 
 
\t  onClickArchive($detail_locator); 
 
     } 
 

 
?> 
 
</ul> 
 
<div id="reload_section"> 
 
    <center><br /> 
 
\t <form method="post"> 
 
\t \t <input type="submit" value="Load More" name="load_more" class="load_more_content" /> 
 
\t </form> 
 
    </center> 
 
</div>

+0

u能显示kal_generator代码? –

回答

0

有多种方法来潜在地解决这个问题。一种选择是在按下按钮时让客户端将现有数据发送回去,这样您就可以将新数据附加到它而不会覆盖它。

另一种选择是使用AJAX调用方法并追加到现有数据客户端。

+0

感谢@Chris的回应,你有什么样的例子可以让我看看吗? –

0
you need to make use of Jquery. 
firstly use .load() method which will loads the data from server then use 
.append() method which will add the resulting data to the selected element. 
$('.load_more_content').click({ 
$('#reload_section').append($('<div />').load('sample.php')); 
}); 
+0

谢谢@RaviKant夏尔马,我试图合并这个,但它没有缝隙工作正确 - 有什么建议吗? –

0

使用/试试这个PHP函数:

function setInterval($f, $milliseconds) 
{ 
    $seconds=(int)$milliseconds/1000; 
    while(true) 
    { 
     $f(); 
     sleep($seconds); 
    } 
} 

用法:

setInterval(function(){ 
    echo "I will echo many times!"; 
}, 1000); 

它就像setInterval的JavaScript中

setInterval(Function(), seconds); 
+0

谢谢@ CharlesCraft50,这个脚本会在1000毫秒后更新PHP吗? - 我不确定是否理解代码 –

+0

该函数将每1秒调用一次。 – CharlesCraft50