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);
}