我使用 php 创建了一个数组,使用 JSON_parse
将其传送到 JavaScript 中,到目前为止一切顺利。
问题是我现在必须从这个 JS 数组中提取一列并将其存储在一个简单的字符变量中。这肯定在 Javascript 101 中,但我无法让它工作,我在任何地方都找不到正确的语法。
检索数据(从第三行开始)currentVid = jArray[3];
不起作用,我对如何进行有点不知所措。
有人可以帮助我吗?所以我需要正确的语法将数组元素(假设第三行,第一个元素)复制到变量(char)。
顺便说一句,这是代码:
<?php
$videoList = [];
$arrayNumber = 0;
$servername = "localhost";
$username = "PPAUser";
$password = "password";
$dbname = "PPADB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT video_link FROM videolinks";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row into internal array
while($row = $result->fetch_assoc()) {
$videoList[$row['cat']][] = array(
'video_link' => $row['video_link']);
}
}
$conn->close();
?>
<script>
function setVideoPrev() {
var currentVid = document.getElementById("iFrame").src;
var jArray = JSON.parse('<?php echo json_encode($videoList ); ?>');
currentVid = jArray["video_link", 3];
document.getElementById("iFrame").src = currentVid;
}
</script>
currentVid = jArray["video_link", 3];
行不能解决问题,但我尝试了很多很多东西。
编辑。根据评论,回答被编辑。
看起来应该是jArray[YOUR_CATEGORY][0].video_link
. YOUR_CATEGORY
这就是$row['cat']
这是用于访问数组的无效语法。尝试执行类似操作:currentVid = jArray["video_link"][3]
。如果您不确定数据的外观,只需在控制台中打印出来即可。