我的问题:我不知道每次按下按钮时如何在变量$i中添加+7。我尝试使用 isset($_POST),但一旦我希望它是无限的,您只能执行代码块以将 +7 添加到$i。
下面的函数使用变量$i来确定您要前进多少天,因此在我的情况下,当 $i = 7 时,它会向前跳跃 7 天。此函数工作正常。
时间表.php
// UPDATED: Used other function instead to show what desired results i want to achieve
public function getDate($i){
date_default_timezone_set('Europe/Amsterdam');
$datetime = new DateTime('today');
$datetime->modify('+' . $i . 'day');
$output = $datetime->format('d-m-Y');
return $output;
}
Orderstep_1.php
// This file includes timeschedule.php
include timeschedule.php
<input name="testbutton" class="testbutton" id="testbutton" type="submit" value="=>" />
现在我将isset与post一起使用,但这只能在页面上执行一次代码,我需要无限。
if(isset($_POST['testbutton'])){
$i = $i + 7;
}
希望你们能把我送到正确的方向。
更新:
此代码输出数据
$testObject = new TimeSchedule();
$date1 = $testObject->getDate(0); echo $date1;
输出结果
02-02-2015
单击按钮后想要实现的输出
09-02-2015
16-02-2015
23-02-2015
etc...
您正在尝试使用 PHP 实现客户端逻辑。PHP 在服务器端运行一次,输出(页面)发送到客户端。之后,php 中的变量不再存在。
对于客户端逻辑,您可能需要 javascript。Javascript在客户端运行,与PHP不同。
您需要在javascript中重写getDay
,使用上下文或一些全局变量进行i
,并在每次单击按钮时将该i
传递给getDay
。
另一种选择是将i
存储在javascript中,但getDay
保留为PHP代码,然后在i
发生变化时,将ajax请求发送到您将要创建的调用getDay
的url,例如getDay.php?i=0。 getDay返回日期,并在javascript中更新日期。
逻辑很简单,最好将其保留在客户端,但对于复杂的算法,您可能希望在服务器端运行您的方法,因为客户端代码是可见的。