我有一个工具,可以使用 cURL 检查游戏中的可用名称,它应该向运行检查的用户显示可用名称,并关闭那些已使用的名称。基本上,当您对名称列表运行测试时,它会检查所有名称并将它们插入数据库中并显示它们的可用性,0 表示已使用或 1 表示可用。
现在,页面在检查完成之前不会加载,然后它们都作为一个整体插入到数据库中。我希望它动态显示检查的状态(即“检查名称 405/4938”)并在检查名称时显示加载图像,同时在检查时显示可用名称。然后在最后,删除加载图像,并获得现在完整的可用名称列表。
我该怎么做呢?我不太了解 jQuery/AJAX。现在它们最后都显示为一个质量并不理想。
这是名称检查线程上的代码。
<?php
$query = mysql_query("SELECT * FROM `lists` WHERE id = '$id'");
while($row = mysql_fetch_assoc($query)) {
$id = $row['id'];
$list = $row['list'];
foreach(explode("\n", $list) as $listItem) {
checkname_RS(trim($listItem));
}
}
这是检查的功能。
<?php
function checkname_RS($name) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://services.runescape.com/m=hiscore/compare.ws?user1=" . $name);
curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$output = curl_exec($ch);
if (stristr($output,"Skill Stats")) {
mysql_query("INSERT INTO names (name, plat, status) VALUES ('$name', 'Runescape', '0')") or die(mysql_error());
}
if (stristr($output,"Member Rankings")) {
mysql_query("INSERT INTO names (name, plat, status) VALUES ('$name', 'Runescape', '1')") or die(mysql_error());
}
curl_close($ch);
}