【发布时间】:2017-12-19 06:11:19
【问题描述】:
您好朋友们正在尝试保存循环中的数据,这是我的代码。
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body onload="searchVideo();">
<?php
ini_set('max_execution_time', 300);
$query = "SELECT * FROM `playlists`";
$result = mysqli_query($mysql,$query);
while($row=mysqli_fetch_assoc($result)){
$id=$row['id'];
$playlists=$row['playlists'];
$myArray = explode(',', $playlists);
$length = sizeof( $myArray);
$myArray[0]=PLrEnWoR732-BHrPp_Pm8_VleD68f9s14-
$myArray[1]=PLFgquLnL59ak1QNHmrUSjNM6WTegpgX__
for ($i=0; $i<$length; $i++){
echo "
<script>
var pageToken = '';
var numOfResult = 0;
var maxResults = 200;
function searchVideo(){
var separator = ',';
$.getJSON('https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=50&pageToken=' + pageToken + '&playlistId=$myArray[$i]&key=APIKEY&callback=?',function(data){
var l = data.items.length;
pageToken = data.nextPageToken;
numOfResult += l;
var itemUrl = '';
var videoids = [];
for(var i = 0; i < l; i++) {
if( i == 0) {
separator = ',';
}
else {
separator = ',';
}
var videoid = data.items[i].snippet.resourceId.videoId;
var title = data.items[i].snippet.title;
$.ajax({
method: 'POST',
url: 'add.php',
data: { title: title, videoid: videoid }
})
.done(function(data) {
});
}
if( numOfResult <= maxResults) {
searchVideo();
}
});
}
</script>
";
}
}
?>
添加.php
<?php
$title = mysqli_real_escape_string($mysql,$_POST['title']);
$videoid = mysqli_real_escape_string($mysql,$_POST['videoid']);
$thumbnail_url = 'http://img.youtube.com/vi/'.$videoid.'/hqdefault.jpg';
$sql = "INSERT INTO ytfb(name,video_name,thumbnail_url) VALUES('$title','$videoid','$thumbnail_url')";
$create_post_query=mysqli_query($mysql,$sql);
if(!$create_post_query)
{
die("Connection failed".mysqli_error($mysql));
}
?>
当我尝试在 add.php 中使用 ajax 保存数据时,仅保存最后一个数组元素中的元素 不保存第一个数组元素中的元素我如何能够保存所有数组元素中的数据.谁能帮我解决这个问题
【问题讨论】:
-
这些行看起来很奇怪很奇怪。
$myArray[0]=PLrEnWoR732-BHrPp_Pm8_VleD68f9s14-。这应该是一个字符串吗?在它的当前格式中,这应该会引发错误。 -
您将
n * m与相同的脚本元素相加,其中n是playlists表中的行数,m是playlists列中的播放列表数每行的Oo -
@Andreas 我没看清楚你能告诉我那里的错误是什么
-
@Andreas 我只需要更改每个循环的播放列表,所以我给出了循环数组的 $myArray[$i]
-
您在每次通过时都在用不同的主体重新定义相同的功能。我认为这不会正常工作。
标签: javascript php jquery arrays ajax