我试图用PHP循环访问一个textarea数组($ taskLinks),并检查每个新的行对数据库的匹配项并从数据库返回匹配项($ a) :当用Ajax调用Foreach循环时只执行一次
$a = array();
$array = split("\r\n", $taskLinks);
foreach($array as $url){
$query = "SELECT url FROM links
WHERE `url`
LIKE '$url'
AND `projectId` = '$projectId'";
$result = mysql_query($query);
$row = mysql_fetch_object ($result);
$matchedLink = $row->url;
array_push ($a,$matchedLink);
}
foreach ($a as $row){
echo "$row\r";
}
上述作品完美,但我尝试当用户添加到文本区域,然后返回从上面的任何比赛用AJAX调用它的PHP脚本(称为linkchecker.php)。为此,我在textarea上加上了onChange =“ajaxFunction()”。
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById('ajaxDiv');
ajaxDisplay.innerHTML = ajaxRequest.responseText;
document.myForm.time.value = ajaxRequest.responseText;
}
}
var taskLinks = document.getElementById('taskLinks').value;
var queryString = "?taskLinks=" + taskLinks + "&projectId=" + projectId;
ajaxRequest.open("GET", "linkchecker.php" + queryString, true);
ajaxRequest.send(null);
}
的问题是PHP脚本似乎只能当一个行被添加到textarea的工作 - 变量被传递到脚本中的查询字符串和PHP脚本的工作,但只针对第一行中的textarea - 我需要它像通常那样为多条线路工作。
我可以对AJAX做些什么以确保PHP脚本检查textarea中的每个条目?
+0
您可以创建一个通过每一行循环的功能在textarea中,并将这些数据传递给PHP脚本并根据响应执行所需的函数。 –