Как отсортировать данные строк, извлеченные с MySQL в числовом порядке, начиная с 1 - PullRequest
1 голос
/ 22 марта 2019

У меня есть таблица со столбцом auto_increment в базе данных mysqli, и я хочу получать данные из этой таблицы для каждого пользователя, где бы имя пользователя не появлялось в этой таблице.Я хочу отобразить эти извлеченные данные в HTML-таблице, которая должна иметь столбец серийного номера, который начинается с 1 и увеличивается на +1 для каждой строки в HTML-таблице.Мне трудно отображать таблицу в числовом порядке.

Я искал в Google и прочитал некоторые похожие проблемы в Stackoverflow, но не смог найти решение.

<?php $referralList = "SELECT * FROM referrals where sponsor='$username'";
$listResult = mysqli_query($conn,$referralList)or die(mysqli_error());
echo "<table class='table table-bordered table-hover table-striped'>";                            
echo "<thead><tr><th>&#8470;</th><th>Username</th><th>Phone &#8470;</th><th>Reg Date</th><th>Total Bonus</th><th>Status</th></tr></thead>";
if (mysqli_num_rows($listResult)<1) {
echo "<em style='color:red;'>You have no referral yet, invite people to start earning extra bonuses </em>";
} else {
while($listRow = mysqli_fetch_array($listResult)) {
$id = $listRow['userid'];
$referral = $listRow['username'];
$referralPhone = $listRow['phoneNumber'];
$regD = $listRow['reg_Date'];
$totalbonus = $listRow['totalbonus'];
if ($listRow['status']==0){
$status='<td style="background-color:hsla(0, 100%, 50%, 0.8)">Suspended</td>';
else if ($listRow['status']==2) {
$status='<td style="background-color:hsla(60, 100%, 50%, 0.8)">On Probe</td>'; 
}
else if ($listRow['status']==1) {
$status= '<td style="background-color:hsla(120, 100%, 40%, 0.8); color: white;">Active <i class="fa fa-check"></i></td>';
}
else {                                                  
$status='<td>Unknown</td>';
}
echo '<tbody><tr><td>', "$id", '</td><td>', "$referral", '</td><td>', "$referralPhone", '</td><td>', "$regD",'</td><td>', "$totalbonus", '</td><b>', "$status", '</b></tr></tbody>';
  } 
}
echo "</table>";
?>

Я хочув таблице html должен быть столбец с серийным номером, который упорядочивает строку в числовом порядке, начиная с 1, 2, 3, 4, 5 и т. д.

1 Ответ

0 голосов
/ 22 марта 2019

Я заменил ваш запрос статическим массивом, но он должен работать, пока ваш запрос корректен. Обратите внимание, что я использую цикл foreach, это не обязательно, поскольку цикл while будет работать так же хорошо.

<?php 
    $listResult = [
                        ['userid'=>'101','username'=>'abc','phoneNumber'=>'1231231231','reg_Date'=>'03/22/2019','totalbonus'=>'5','status'=>'0'],
                        ['userid'=>'102','username'=>'def','phoneNumber'=>'5675675675','reg_Date'=>'03/22/2019','totalbonus'=>'10','status'=>'1'],
                        ['userid'=>'103','username'=>'xyz','phoneNumber'=>'6756756756','reg_Date'=>'03/22/2019','totalbonus'=>'12','status'=>'1'],
                    ];
    //$listResult = mysqli_query($conn,$referralList)or die(mysqli_error());
    echo "<table class='table table-bordered table-hover table-striped'>";                            
    echo "<thead>
            <tr>
                <th>Serial &#8470;</th>
                <th>&#8470;</th>
                <th>Username</th>
                <th>Phone &#8470;</th>
                <th>Reg Date</th>
                <th>Total Bonus</th>
                <th>Status</th>
            </tr>
        </thead>";
    if (empty($listResult)) {
    echo "<em style='color:red;'>You have no referral yet, invite people to start earning extra bonuses </em>";
    } else {
        $rowCount = 1;
        foreach($listResult as $listRow) {
            $id = $listRow['userid'];
            $referral = $listRow['username'];
            $referralPhone = $listRow['phoneNumber'];
            $regD = $listRow['reg_Date'];
            $totalbonus = $listRow['totalbonus'];
            if ($listRow['status']==0){
                $status='<td style="background-color:hsla(0, 100%, 50%, 0.8)">Suspended</td>';
            }else if ($listRow['status']==2) {
                $status='<td style="background-color:hsla(60, 100%, 50%, 0.8)">On Probe</td>'; 
            }
            else if ($listRow['status']==1) {
                $status= '<td style="background-color:hsla(120, 100%, 40%, 0.8); color: white;">Active <i class="fa fa-check"></i></td>';
            }
            else {                                                  
                $status='<td>Unknown</td>';
            }
            echo '<tbody><tr>**<td>', "$rowCount" ,'</td>**<td>', "$id", '</td><td>', "$referral", '</td><td>', "$referralPhone", '</td><td>', "$regD",'</td><td>', "$totalbonus", '</td><b>', "$status", '</b></tr></tbody>';
            ++$rowCount;
        }
    }
    echo "</table>";
    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...