现在我有一个查询返回结果列表,并使用AJAX将它们作为链接显示在页面上。我有另一个工作查询,我想用它来比较第一个,但我不确定如何做到这一点(新的AJAX)。
我最终要做的是在两个查询的结果中找到匹配并格式化匹配的链接($(“#judgeveCompleted”)。append),与不匹配的样式不同。
PHP(xml2.php):
$query = "SELECT Name FROM judges LEFT JOIN $court
ON ($court.JudgeID = judges.JudgeID)
where Month='$month' and Year='$year' order by Name asc;";
$resultID = mysql_query($query, $linkID) or die("Data not found.");
$xml_output = "<?xml version=\"1.0\"?>\n";
$xml_output .= "<entries>\n";
for($x = 0 ; $x < mysql_num_rows($resultID) ; $x++){
$row = mysql_fetch_assoc($resultID);
$xml_output .= "\t<entry>\n";
$xml_output .= "\t\t<name>" . $row['Name']. "</name>\n";
$xml_output .= "\t</entry>\n";
}
$xml_output .= "</entries>";
echo $xml_output;
AJAX / JS:
$.ajax({
type: "POST",
url: "xml2.php",
data: 'court='+x,
dataType: "xml",
success: parseXml
});
function parseXml(xml)
{
$(xml).find("entry").each(function()
{
$("#judgesCompleted").append('<a href="viewreport.php">'+$(this).find("name").text()+'</a><br />');
});
}
我的新查询:
$query2 = "SELECT Name FROM judges
LEFT JOIN $court ON ($court.JudgeID = judges.judgeID)
LEFT JOIN users ON ($court.userID = users.userID) WHERE Month='10' AND Year='2011' AND users.type = 'user' ORDER BY Name ASC; "
希望这是有道理的。
答案 0 :(得分:1)
我会用PHP来解决这个问题:
第一个数组的结果比第二个数组多,所以迭代A1。在每个值上,检查它是否存在于A2中。当你去的时候,将匹配混合到一个XML节点中,然后错过另一个XML节点。
使用AJAX抓取XML并分离出两个节点(匹配和未命中),然后根据需要遍历每个节点以应用样式。
答案 1 :(得分:0)
您可以尝试UNION这2个查询并在javascript中实现比较逻辑。