0
我想用html日期選擇器更新google gnatt chart並刷新頁面以顯示新選擇的數據。但是,我一直無法讓他們工作,這是一個很大的失望。我最近來自Stackoverflow的另一個鏈接,它的影響力出現在我的代碼中,但它沒有幫助。我的圖表工作得很好,但我希望能夠按日期進行排序以縮小數據範圍,並最終使用現在不存在的相同基本方法進行更多篩選。目前,我可以使用GET將日期發佈到主頁面url,並使用javascript挑選出來,但我無法通過ajax將它們傳遞到php頁面getTrackerdata.php。如果我按照以下方式運行該頁面,則可以像過濾一樣正常顯示圖表。谷歌圖表更新從表單提交mysql查詢
與控制檯日誌我看到日期是從URL中挑選它打印
startdate: 2016-02-05 enddate: 2016-03-25
如果我只是網址運行PHP頁面如下
getTrackerdata.php?startdate=2016-02-13&enddate=2016-03-25
它返回適當的數據並在正確的日期內過濾
我的網站上的選擇:
腳本:
$("#drawChart").click(function(e) {
e.preventDefault();
drawChart();
});
function GetUrlValue(VarSearch){
var SearchString = window.location.search.substring(1);
var VariableArray = SearchString.split('&');
for(var i = 0; i < VariableArray.length; i++){
var KeyValuePair = VariableArray[i].split('=');
if(KeyValuePair[0] == VarSearch){
return KeyValuePair[1];
}
}
}
function testAjax() {
var startdate = GetUrlValue('startdate');
var enddate = GetUrlValue('enddate');
return $.ajax({
url: "getTrackerdata.php",
dataType: "text",
data: ({"startdate": startdate, "enddate": enddate}),
async: false
}).responseText;
}
function drawChart() {
var jsonData = testAjax();
var data = new google.visualization.DataTable(JSON.parse(jsonData));
HTML:
<div id="hed">
<h1><strong>CARF PROJECT TRACKER </strong></h1>
</div>
<div id="picker">
<form action="ProjectTracker.html" method="GET">
From: <input type="date" class="hasDatepicker" name="startdate" id="datepicker"> To: <input type="date" name="enddate" class="hasDatepicker" id="datepicker2"> <input type="submit" id="drawChart" >
</form>
</div>
<div id="chart_div"></div>
<a href="ProjectTracker/home.php"> Link to Edit Chart</a>
<div id="table_div"></div>
PHP:
$From = $_POST['startdate'];
$Too = $_POST['enddate'];
if($From === NULL){
$result = ("SELECT `Project`, `Description`, `Notes`, `StartYear`, `EndYear`, `Duration` , `PercentComplete`, `Dependancy` FROM `Main`");
}else{
$result = ("SELECT `Project`, `Description`, `Notes`, `StartYear`, `EndYear`, `Duration` , `PercentComplete`, `Dependancy` FROM `Main` WHERE `StartYear` BETWEEN '$From' and '$Too'");
}
上午我在正確的方向?有沒有比使用GET更麻煩的方法?
謝謝
編輯:改變措辭 編輯2:改到最近的一個例子。