如何获取Fetch_array数据

时间:2018-06-27 09:43:41

标签: php mysql

我正在制作锦标赛mod。而且我不知道如何使用获取的数组正确执行某些操作。

我的代码正在做的是从Tournament表中获取数据并将其添加到数组中。然后将其打印在HTML表中,以便所有用户可以看到他所住的地方。 我如何才能正确获得前三名获奖者的第一,第二,第三数组数据并给他们定价?我该如何处理积分相同的玩家?
现在,下面的查询似乎也不起作用,所有语句都是positiv,它应该执行该功能。

if($counter == 1) {
    $GLOBALS['DATABASE']->query("UPDATE  ".USERS." SET `atm` = `atm` + 20000  WHERE `id` = ".$recordRow['id_owner']." ;");
}

对不起,我的英语不好,我试图搜索答案,但没有找到任何东西,因为我不知道我应该搜索哪种PHP解决方案。

我的代码:

$recordFetch = $GLOBALS['DATABASE']->query("SELECT *FROM `uni1_tournament` ORDER BY wons DESC;");
$counter = 0;
$RangeList  = array();
while ($recordRow = $GLOBALS['DATABASE']->fetch_array($recordFetch)) {
    $counter += 1;
    $RangeList[]    = array(
        'id'        => $recordRow['id_owner'],
        'name'      => $recordRow['name'],
        'points'        => $recordRow['wons']*5,
        'counter'       => $counter,
    );

    if($t_time > TIMESTAMP) {
        if($counter == 1) {
            $GLOBALS['DATABASE']->query("UPDATE  ".USERS." SET `atm` = `atm` + 20000  WHERE `id` = ".$recordRow['id_owner']." ;");
        }
        elseif($counter == 2) {
            //to do;
        } elseif($counter == 3) {
            //to do;
        }               
    }   
}

2 个答案:

答案 0 :(得分:1)

  • 像这样进行查询“从uni1_tournament GROUP BY点中选择* ORDER BY 点数上限3“;

答案 1 :(得分:1)

如果您使用的是常规mysql或mysqli(因为我已经使用过一段时间了,请稍等一会儿再讲),则需要在结果上运行fetch_array而不是GLOBALS['DATABASE']变量(将其猜测为数据库连接的全局变量)。

尝试更改

while ($recordRow = $GLOBALS['DATABASE']->fetch_array($recordFetch)) {

while ($recordRow = $recordFetch->fetch_array()) {

为了使用您的原始格式,我认为fetch_array应该改为mysqli_fetch_array

while ($recordRow = $GLOBALS['DATABASE']->mysqli_fetch_array($recordFetch)) {