Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript变量中获取php mysql结果_Javascript_Php_Mysql_Date - Fatal编程技术网

在javascript变量中获取php mysql结果

在javascript变量中获取php mysql结果,javascript,php,mysql,date,Javascript,Php,Mysql,Date,我有这个代码,它工作得很好。但是我想用mysql 以下是有效的代码: <?php if (date('w') == 2) { { ?> <script> $(function() { var times = [ // mysql import start {'id': '1', 'name': 'Mardi 5H55', 'end': new Date('2017-01-31 05:55:00'),}, {'id': '2', 'name': 'Mardi 8H40',

我有这个代码,它工作得很好。但是我想用mysql

以下是有效的代码:

<?php if (date('w') == 2) { { ?>
<script> $(function() {
var times = [
// mysql import start
{'id': '1', 'name': 'Mardi 5H55', 'end': new Date('2017-01-31 05:55:00'),},
{'id': '2', 'name': 'Mardi 8H40', 'end': new Date('2017-01-31 08:40:00'),},
{'id': '3', 'name': 'Mardi 11H30', 'end': new Date('2017-01-31 11:30:00'),},
{'id': '4', 'name': 'Mardi 14H05', 'end': new Date('2017-01-31 14:05:00'),}
// mysql import end
];
        // Initialize the table values
        $.each(times, function( key, value ) {
            $('#mau-mpl').append('<tr><td>'+value.name+'</td><td>Hérault Transports (Ruban Bleu)</td><td>Montpellier</td><td><span id="player-'+value.id+'-expiration" class="label label-primary">Chargement encours...</span></td></tr>');
        });
        function countdown()
        {
            var now = new Date();
            console.log('updating time');

            $.each(times, function( key, value ) {
                var left = value.end - now;
                var days = Math.floor( left / (1000 * 60 * 60 * 24) );
                var hours = Math.floor( (left % (1000 * 60 * 60 * 24) ) / (1000 * 60 * 60) );
                var minutes = Math.floor( (left % (1000 * 60 * 60)) / (1000 * 60) );
                var seconds = Math.floor( (left % (1000 * 60)) / 1000 );

                displayTime = '';
                if (days > 0) {
                    displayTime = + days + " jr   ";
                }
if (minutes > 0) {
                displayTime = displayTime + hours + " H   " + minutes + " Mn   "  + seconds + " Sec   ";
} 
                echo = "Deja parti"; 


                $('#player-'+value.id+'-expiration').text(displayTime)
            });
        }
        timer = setInterval(countdown, 1000);        
    });</script><?php } } ?>

$(函数(){
变量时间=[
//mysql导入启动
{'id':'1','name':'Mardi 5H55','end':新日期('2017-01-31 05:55:00'),},
{'id':'2','name':'Mardi 8H40','end':新日期('2017-01-31 08:40:00'),},
{'id':'3','name':'Mardi 11H30','end':新日期('2017-01-31 11:30:00'),},
{'id':'4','name':'Mardi 14H05','end':新日期('2017-01-31 14:05:00'),}
//mysql导入端
];
//初始化表值
$.each(次数、函数(键、值){
$(“#mau mpl”).append(“+value.name+'Hérault Transports(Ruban Bleu)MontpellierChargement encours…”);
});
函数倒计时()
{
var now=新日期();
console.log(“更新时间”);
$.each(次数、函数(键、值){
var left=value.end-now;
变量天数=数学下限(左/(1000*60*60*24));
可变小时数=数学楼层((左%(1000*60*60*24))/(1000*60*60));
变量分钟数=数学楼层((左%(1000*60*60))/(1000*60));
var秒数=数学地板((左%(1000*60))/1000);
显示时间=“”;
如果(天数>0){
显示时间=+天+“jr”;
}
如果(分钟>0){
显示时间=显示时间+小时数+小时数+分钟数+秒数+秒数;
} 
echo=“dejaparti”;
$(“#播放器-”+value.id+'-expiration').text(显示时间)
});
}
定时器=设置间隔(倒计时,1000);
});
正如您所看到的,我想放在mysql导入开始之后的数据。 我制作了一个从mysql获取数据的php文件,结果如下:

  • {'id':'1','name':'Mardi 5H','end':新日期('2017-01-31 05:00:00'),}
  • {'id':'2','name':'Mardi 6H','end':新日期('2017-01-31 06:00:00'),}
  • {'id':'3','name':'Mardi 7H','end':新日期('2017-01-31 07:00:00'),}
php文件是:

<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "horaires";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }
$sql = "SELECT id, jourheure, name, depart, arrivee FROM 2_mardi";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
// {'id': '1', 'name': '5H', 'end': new Date('2017-01-31, 05:55:00'),},";
echo "{'id': '" . $row["id"]. "', 'name': '" . $row['name'] ."', 'end': new Date('" . $row["jourheure"]. "" . $row["depart"]. "'),},<br>"; }
} $conn->close();
?>  

+---+----------+---------------------+
| 1 | Mardi 5H | 2017-01-31 05:00:00 |
+---+----------+---------------------+
| 2 | Mardi 6H | 2017-01-31 06:00:00 |
+---+----------+---------------------+
| 3 | Mardi 7H | 2017-01-31 07:00:00 |
+---+----------+---------------------+
您可以执行以下操作:

var js = <?php echo "{'id': '" . $row["id"]. "', 'name': '" . $row['name'] ."', 'end': new Date('" . $row["jourheure"]. "" . $row["depart"]. "')}"; ?>

var js=您可以用很多不同的方式设置var,ajax,在php代码中嵌入javascript代码

当您想要将PHP对象或var转换为javascript时,需要在PHP代码中将该对象序列化为JSON,然后需要设置JSON字符串并将该字符串转换为有效的javascript对象

JSON是这样的字符串

"{'propertyname':'stringvalue','property2':true,'property3':null,'property':[...]}" 
如果现在可以在javascript代码块上解析JSON

index.php

<?php 
   $result = getData() // your data like you want =>[ multiple objects ]
   $resultJSON =  json_encode($result); // "[{..},{...}]"
?>
<script>
    var jsondata = parse.JSON('<?php echo $resultJSON ?>') ; 
</script>

var jsondata=parse.JSON(“”);

但是我认为最好从php代码中分割html/javascript代码,并从ajax中获取变量。

您可以使用对php脚本的ajax调用将数据存储到javascript变量中

在下面的文件中,将演示使用JQuery的AJAX调用,以将数据存储到Javascript中

<?php if (date('w') == 2) { { ?>
<script>
        $(function() {
            var times = $.ajax({
                url: 'api.php', //the script to call to get data          
                data: "", //you can insert url argumnets here to pass to api.php
                //for example "id=5&parent=6"
                dataType: 'json', //data format      
                success: function(data) //on recieve of reply
                {
                    return data;
                }
            });
            $.each(times, function(key, value) {
                $('#mau-mpl').append('<tr><td>' + value.name + '</td><td>Hérault Transports (Ruban Bleu)</td><td>Montpellier</td><td><span id="player-' + value.id + '-expiration" class="label label-primary">Chargement encours...</span></td></tr>');
            });

            function countdown() {
                var now = new Date();
                console.log('updating time');
                $.each(times, function(key, value) {
                    var left = value.end - now;
                    var days = Math.floor(left / (1000 * 60 * 60 * 24));
                    var hours = Math.floor((left % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
                    var minutes = Math.floor((left % (1000 * 60 * 60)) / (1000 * 60));
                    var seconds = Math.floor((left % (1000 * 60)) / 1000);
                    displayTime = '';
                    if (days > 0) {
                        displayTime = +days + " jr   ";
                    }
                    if (minutes > 0) {
                        displayTime = displayTime + hours + " H   " + minutes + " Mn   " + seconds + " Sec   ";
                    }
                    echo = "Deja parti";
                    $('#player-' + value.id + '-expiration').text(displayTime)
                });
            }
            timer = setInterval(countdown, 1000);
        });
    });</script><?php } } ?>

$(函数(){
var times=$.ajax({
url:'api.php',//要调用以获取数据的脚本
数据:“”,//您可以在此处插入url argumnets以传递到api.php
//例如“id=5,父项=6”
数据类型:“json”,//数据格式
成功:函数(数据)//收到回复时
{
返回数据;
}
});
$.each(次数、函数(键、值){
$(“#mau mpl”).append(“+value.name+”赫劳特运输公司(Ruban Bleu)蒙彼利埃收费编码…”);
});
函数倒计时(){
var now=新日期();
console.log(“更新时间”);
$.each(次数、函数(键、值){
var left=value.end-now;
变量天数=数学下限(左/(1000*60*60*24));
可变小时数=数学楼层((左%(1000*60*60*24))/(1000*60*60));
变量分钟数=数学楼层((左%(1000*60*60))/(1000*60));
var秒数=数学地板((左%(1000*60))/1000);
显示时间=“”;
如果(天数>0){
显示时间=+天+“jr”;
}
如果(分钟>0){
显示时间=显示时间+小时数+小时数+分钟数+秒数+秒数;
}
echo=“dejaparti”;
$(“#播放器-”+value.id+'-expiration').text(显示时间)
});
}
定时器=设置间隔(倒计时,1000);
});
});
以下是从数据库获取数据的代码。
让我们调用这个文件api

<?php
$servername = "localhost";
$username   = "root";
$password   = "root";
$dbname     = "horaires";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$sql    = "SELECT id, jourheure, name, depart, arrivee FROM 2_mardi";
$result = $conn->query($sql);
if ($result->num_rows > 0) {

    //storing result into an array
    $array = mysql_fetch_row($result);
}
$conn->close();

//encoding the array into JSON
echo json_encode($array);
?>


var-javascript\u-var=
json_encode()
将帮助您简化。您好@R3tep您的代码没有显示剩余时间您好,非常感谢您的回答。但是我想得到这样的结果:{'id':'1','name':'Mardi 5H','end':new Date('2017-01-31 05:00:00'),},而不是用你的代码“[“1”,“2017-01-31 18:00:00”,“Mardi 5H Test”,”,“”。用这个我只能拿到第一行
<?php
$servername = "localhost";
$username   = "root";
$password   = "root";
$dbname     = "horaires";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$sql    = "SELECT id, jourheure, name, depart, arrivee FROM 2_mardi";
$result = $conn->query($sql);
if ($result->num_rows > 0) {

    //storing result into an array
    $array = mysql_fetch_row($result);
}
$conn->close();

//encoding the array into JSON
echo json_encode($array);
?>