gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 23:16:08 25 4
gpt4 key购买 nike

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com