我对这一切都很陌生,我很难尝试做一件看似简单的事情。这就是我想要做的事情。我使用jquery datapicker创建了两个日期。开始日期(开始日期)和结束日期(结束日期)。我需要将这些日期用于以下事项:
所以基本上,我试图输入两个日期并使用这两个日期来填充图表而不使用两个页面来完成它。所以这就是我到目前为止所做的。
发布后,两个日期使用
在where语句(上面的数字1)中工作where m.date >= ('" . $_POST['beginningdate'] . "')
and m.date <= ('" . $_POST['enddate'] . "')
该图表填写在同一个mealplanner.php页面上,因为我在帖子后刷新了页面(编号3和4)。
在发布之后或期间,我需要计算两个日期之间的差异,并在名为$ diffdate的php变量中使用该数字。这是我遇到问题的地方。我可以手动硬编码一个javascript变量
var diffdate = 9;
然后我可以在帖子中使用
将该变量传递给php window.location.href = "?p=mealplanner&diffdate=" + diffdate;
并使用
$diffdate = $_GET["diffdate"];
在我的php部分中使用mySQL语句中的变量,但我显然不能使用硬编码变量,需要计算两个日期。这是我的html表单
<form id="changedate" action="?p=mealplanner" method="post">
<p>Beginning Date: <br /><input type="text" id="BeginningDate" name="beginningdate"></p>
<br />
<p>End Date: <br /><input type="text" id="EndDate" name="enddate"></p>
<br />
<input type="submit" value="Change Dates" onclick="calcdate();" />
<br />
</form>
这就是我将jquery元素转换为变量
的方法 var BeginningDate = document.getElementById("BeginningDate").value;
var EndDate = document.getElementById("EndDate").value;
问题是日期现在是一个字符串,我似乎无法将其转换为日期。我认为使用
var newdate = new Date('BeginningDate');
会工作,但它没有,我甚至尝试双引用它。我试过这个:
var dateArr=BeginningDate.split("/");
var date=new BeginningDate( parseInt(dateArr[0], 10),
parseInt(dateArr[1], 10)-1,
parseInt(dateArr[2], 10),
parseInt(dateArr[3], 10);
alert(date);
它根本没有看到刺痛作为约会。我还使用今天作为开始日期和今天+7和结束日期来创建和显示默认字段。当然,如果我更改日期,则后期刷新会将默认值设置为后退,因此我需要一种方法来保持新帖子显示在帖子后页面上。我会假设一个套装将是这样做的方式,但我还没有尝试过,我正在寻找关于如何做到这一点的建议。我希望这是有意义的,并提前感谢。这是我的datepicker函数,如果你也需要它。
$(function() {
$( "#BeginningDate" ).datepicker();
$( "#BeginningDate" ).datepicker("setDate", new Date());
$( "#BeginningDate" ).datepicker('option', {dateFormat: 'yy/mm/d'});
});
$(function() {
$( "#EndDate" ).datepicker();
$( "#EndDate" ).datepicker("setDate", "+7");
$( "#EndDate" ).datepicker('option', {dateFormat: 'yy/mm/d'});
});