php - 如何越来越多地显示数据库结果?

标签 php jquery mysql ajax curl

我有一个工具可以使用 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);

}

最佳答案

你真的不需要做任何特别的事情来实现这一点。由于您已经只是保持连接打开并在文档底部转储数据,因此您应该能够在每个项目或每个 n 项目之后将更多 javascript 转储到客户端。

因此您可以在文档中的某个位置转储如下所示的一些 html:

<div id="progressMessage"></div> 
<ul id="availableNames"></ul>

然后你的线程只需要输出 js 来更新 View ,例如(为简单起见使用 jQuery):

$("#progressMessage").text("1 of 5999");
$("#availableNames").append("<li>matchedName</li>");

加载/隐藏进度条也是如此,js在客户端收到它之前不会运行,所以最终效果就像一个进度条。

另见: https://stackoverflow.com/a/2920207/486620

关于php - 如何越来越多地显示数据库结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17757779/

相关文章:

javascript - 部分内联外部 JavaScript 库

java - 如何从客户端服务器程序中的服务器控制台获取输入

javascript - 如何在asp.net mvc中注销当前用户

android - 使用 JavaScript 在平板设备上获取网页中心坐标

javascript - 如何在 mysql 查询中使用 jquery 变量

php - 相同字符串的不同 md5 哈希值,例如

mysql - 滚动 12 个月的数据 Sum 运算

php - 使用 Retrofit 在 Android 中使用 PHP 和 MySQL 开发的 RESTful API

php - 如何使用 pcntl_waitpid() 返回的 $status?

php - MySQL 按观看次数最多的方式对图像进行排序