元素ID随着每次MYSQL数据库插入而改变


Element ID changing with each MYSQL Database insert

好的,我有一个脚本,从数据库中提取信息并将其放入表中。(全文在本题末尾)

每个TR都有一个标准ID: echo "<tr class='task' id='task1'>";,唯一的问题是每个新的tr或从数据库中提取的每一行都被分配了相同的ID task1,这不是很好的编码技术,也不是与我的javascript一起工作,以根据数据库中的信息更改表类名称。

所以我的问题是,有没有一种方法来排序"自动生成"的id名称为表的每个tr ?我想看看task1, task2, task3等等。

完整代码从这里开始

<?php
$con=mysqli_connect("");
    // Check connection
    if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
    $query = "SELECT * FROM affiliate_tasks WHERE username = '$_SESSION[username]'";
                if( isset($_POST['sort-selection']) && $_POST['sort-selection'] != 'all' ) 
                {
                    $query .= " AND status = '". $_POST['sort-selection']."';" ;
                }
                $result = mysqli_query($con, $query);
                echo "<table class='table table-message'>
                <tr class='heading'>
                <td class='cell-title'>Tasks</td> 
                <td class='cell-status hidden-phone hidden-tablet'>Status</td> 
                <td class='cell-time align-right'>Due Date</td>
                </tr>";
                while($row = mysqli_fetch_array($result))
                  {
                  echo "<tr class='task' id='task1'>";
                  echo "<td class='cell-ttle'>" . $row['task_name'] . "</td>";
                  echo "<td class='cell-status hidden-phone hidden-tablet'>"  . $row['status'] . "</td>";
                  echo "<td class='cell-time align=right'>" . $row['due_date'] . "</td>";
                  echo "</tr>";
                  }
                echo "</table>";
                mysqli_close($con);
            ?>

如果您的表行有唯一的id列,那么这将是最适合这里的。你可以使用:

echo "<tr class='task' id='task-" . $row['id'] . "'>";

如果不是,并且您只想要一个连续的数字,您只需使用这样的变量:

$i = 0;
while($row = mysqli_fetch_array($result)) {
  echo "<tr class='task' id='task-" . ++$i . "'>";
  // Rest of your lines ...
}