Я использую PHP5, MySQL, JavaScript и Fusion Charts.
У меня есть следующее значение времени, возвращенное из базы данных: 2011-12-19 12:00:00
После извлечения его из базы данных япопробуйте передать его через JavaScript strURL, чтобы перейти на другую страницу, где я могу делать дополнительные вызовы базы данных, используя это значение.У меня проблема в том, что JavaScript не работает всякий раз, когда я отправляю его через дату / время.Я могу отправить через любой другой тип значения, и это работает, так что проблема, кажется, связана с отметкой времени.Я попытался преобразовать его в строку перед передачей (просто чтобы убедиться, что это уже не тот), и это не работает.Я предполагаю, что это связано с символами в пределах значения.Любая идея, как обойти это?
Вызов базы данных в PHP, а затем отправка полей в JavaScript:
$strQuery = "SELECT unit, watts, time, device, siteid FROM inverter WHERE time = '2011-12-19 12:00:00' AND siteid = '842'";
$result2 = mysql_query($strQuery) or die(mysql_error());
if ($result2) {
while($ors2 = mysql_fetch_array($result2)) {
$thetime = (string)$ors2['time'];
$strXML .= "<set color='58ACFA' label='" . $ors2['device'] . "/" . $ors2['unit'] . "' value='" . $ors2['watts'] . "' link='javaScript:updateChart(" . $ors2['unit'] . " , " . $ors2['device'] . " , " . $ors2['siteid'] . " , " . $thetime . ")'/>";
}
}
А затем функция JavaScript:
function updateChart(first, second, third){
//DataURL for the chart
var strURL = "FactoryData.php?factoryId=" + first + "&device=" + second + "&siteid=" + third;
FusionCharts("FactoryDetailed").setXMLUrl(strURL);
}