【问题标题】:Loading PHP Variable Into A Javascript Variable将 PHP 变量加载到 Javascript 变量中
【发布时间】:2017-07-13 17:13:15
【问题描述】:

我正在构建一个 batabase 驱动的网站,该网站使用 Javascript 通过 YouTube API 在我的网站上播放视频,但我无法将通过 PHP 提取的数据加载到 Javascript 播放器中。

我的桌子是(仅示例代码):

ID | One | Two
---------------
01 | 832 | 943

这是我用来获取数据的 PHP 代码:

<?php
$code_sql = "SELECT * FROM codes WHERE id = '$url_id'";
$code_res = mysqli_query($con, $code_sql);
while($code = mysqli_fetch_assoc($code_res)){

    $code_1 = $code["one"];
    $code_2 = $code["two"];

};
?> 

这是我尝试将其加载到的 Javascript:

var $vid1 = <?php echo json_encode("$code_1"); ?>;
var $vid2 = <?php echo json_encode("$code_2"); ?>;
var videoIDs = [
    '$vid1',
    '$vid2'
];

当我加载页面时,它会在视频播放器中给我一个Invalid Paramiters。有什么想法我哪里出错了吗?

【问题讨论】:

  • 您在 php while 循环中不断地覆盖 $code_1 和 $code_2,使它们只保留最后一个结果
  • 而且变量不需要双引号json_encode($code_1)
  • @baao,请您解释一下overriding 的意思?我该如何解决这个问题?

标签: javascript php json youtube-api


【解决方案1】:

从 json_encode 中删除引号。同时删除数组内的单引号

var $vid1 = <?php echo json_encode($code_1); ?>;
var $vid2 = <?php echo json_encode($code_2); ?>;
var videoIDs = [
    $vid1,
    $vid2
];

【讨论】:

  • 谢谢,但是当我尝试使用引号时,它会完全屏蔽视频播放器。任何想法为什么?
  • 从 php 外部删除双引号,然后尝试。查看我编辑的答案
猜你喜欢
  • 1970-01-01
  • 2012-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
  • 1970-01-01
相关资源
最近更新 更多