2

我有一些 PHP 代码需要移植到 node.js / Javascript,但我不知道如何正确执行此操作:一次只获取一行。

我有一个查询会产生一个 MASSIVE 数据集;我只需要一些结果;但我不知道有多少。

在 PHP 中,我只执行查询,然后每行获取行,直到满足条件。php伪代码:

$sql="select price, totvol from depth where.. order by price desc";

$result = mysql_query($sql) or die(mysql_error());  //massive dataset
while ($row=mysql_fetch_assoc($result) and some condition) {
    do stuff until condition is met     
}

我看不到如何在 node-mysql 中做到这一点。我可以在 sql 查询中添加一个 LIMIT 1 并每次进行一个新查询,但是我如何获得有序列表中的下一行?任何提示将不胜感激。

如果有帮助,这是实际代码:

$sql='';
if ($type=="bid") $sql="select price, totvol from depth where price>=$price order by price asc";
elseif ($type=="ask") $sql="select price, totvol from depth where price<=$price order by price desc";
else echo "unknown type\n";
if ($sql!='') {
    $result = mysql_query($sql) or die(mysql_error());
    while ($row=mysql_fetch_assoc($result) and $amount_int>0) {
        $newamount=max($row["totvol"]-$amount_int,0);
        $amount_int-=$row["totvol"];
        $sql2="update depth set totvol=$newamount where price=".$row["price"];
        $result2 = mysql_query($sql) or ie(mysql_error());                              
    }
}
4

0 回答 0