私の問題は、私のメインの ページに含まれるphp変数に、ajaxによって呼び出されるphpファイルからアクセスできないことです。HIGHCHARTS - Ajaxによって呼び出されるphpファイルからのJquery/AjaxアクセスPHP変数
それにアクセスする方法はありますか私は
PHP AJAXによって呼び出された私のPHPファイルでPHPファイルを含める必要があります。variables.php
<?php
$myServername = "local_host";
$myUsername = "user";
$myPassword = "password";
$myDbname = "dbname";
?>
PHP:connection.php *接続変数
liveserverdata.php:variable.phpに定義されている私のメインページ<?php
$conn = mysqli_connect($myServername, $myUser, $myPassword, $myDatabase);
// verify connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
PHPの先頭に含ま
<?php
header('Content-type: application/json');
//GET MYSQL DATA
// Create connection
include ("connection.php");
$sqlGetHoraire = "SELECT * FROM mytable ORDER by id ASC";
$result = $conn->query($sqlGetHoraire);
while($row = $result->fetch_assoc())
{
//DO THINGS HERE
}
// CALCULATE VALUES
// The x value is the current JavaScript time, which is the Unix time multiplied by 1000.
$x = time() * 1000;
// The y value is the quatity of paper lost for this work period
$y = rand(0, 100);
// Create a PHP array and echo it as JSON (Date,Value)
$ret = array($x, $y);
// Data return to ajax function
echo json_encode($ret);
?>
JAVASCRIPT:LiveData.js
$(function() {
var chart; // global
function requestData() {
$.ajax({
type: "POST",
url: 'liveserverdata.php',
success: function(point) {
//Action with the data from the php
var series = chart.series[0];
var Shift = series.data.length > 20; // shift if the series is longer than 20
// add the point
chart.series[0].addPoint(eval(point), true, Shift);
//Change Title
chart.setTitle({text: "Title " + point[1]});
// call it again after one second
setTimeout(requestData, 1000);
},
cache: false
});
}
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'MyLiveData',
defaultSeriesType: 'spline',
events: {
load: requestData
}
},
xAxis: {
type: 'datetime',
tickPixelInterval: 150,
maxZoom: 20 * 1000
},
yAxis: {
minPadding: 0.2,
maxPadding: 0.2,
title: {
text: 'Pied',
}
},
series: [{
name: moment().format('DD MM YYYY'),
data: []
}]
});
});
});
HTML/PHP:index.phpの*私のメインページ
<?php include ("variables.php"); ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src = "LiveData.js"></script>
</head>
<body class="mybody">
<div id="MyLiveData" class="section-chart"></div>
</body>
Thxをたくさん
ダニエル
解決策:ajaxが呼び出すphpファイルにvariable.phpを直接記述します。
PHP:connection.php
include ("variables.php")
<?php
$conn = mysqli_connect($myServername, $myUser, $myPassword, $myDatabase);
// verify connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
どこにも定義されているmysqli_connectで使用される変数はありません。 – aynber
@aynber UPDATED –
エラーログを確認しましたか?データを返すだけではないのですか、それとも何らかのエラーを返すのでしょうか? – aynber