我試圖用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;
<!--
<?php
echo("var projectId = ('$projectId');");
?>
// -->
var queryString = "?taskLinks=" + taskLinks + "&projectId=" + projectId;
ajaxRequest.open("GET", "linkchecker.php" + queryString, true);
ajaxRequest.send(null);
}
的問題是PHP腳本似乎只能當一個行被添加到textarea的工作 - 變量被傳遞到腳本中的查詢字符串和PHP腳本的工作,但只針對第一行中的textarea - 我需要它像通常那樣爲多條線路工作。
我可以對AJAX做些什麼以確保PHP腳本檢查textarea中的每個條目?
您可以創建一個通過每一行循環的功能在textarea中,並將這些數據傳遞給PHP腳本並根據響應執行所需的函數。 – RobB