【问题标题】:Adding autonumber column to php table that reads from mysql将自动编号列添加到从 mysql 读取的 php 表中
【发布时间】:2014-11-16 13:16:38
【问题描述】:

我试图在我的第一列之前添加一列,从 1 开始对每条记录进行编号。我试图将自动增量添加到这一行 echo "" 。 $row['ss'] 。 "";,但这似乎并不想工作。任何想法如何做到这一点?

我的代码如下所示:

$result = mysqli_query($con,"SELECT * FROM `results` WHERE Event='100' AND Gender='M' ORDER BY Performance ASC");

echo "<table border='0'>
<tr>
<th align='left'>Pos</th>
<th align='left'>Event</th>
<th>Performance</th>
<th>Wind</th>
<th>Place</th>
<th align='left'>Name</th>
<th align='left'>Surname</th>
<th>Age</th>
<th>Team</th>
<th>Meet</th>
<th>Date</th>
</tr>";

while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['ss'] . "</td>";
echo "<td>" . $row['Event'] . "</td>";
echo "<td>" . $row['Performance'] . "</td>";
echo "<td>" . $row['Wind'] . "</td>";
echo "<td>" . $row['Pos'] . "</td>";
echo "<td width='100' align='left'>" . $row['Surname'] . "</td>";
echo "<td Width='100'>" . $row['Name'] . "</td>";
echo "<td>" . $row['Age'] . "</td>";
echo "<td>" . $row['Team'] . "</td>";
echo "<td>" . $row['Meet'] . "</td>";
echo "<td>" . $row['Date'] . "</td>";
echo "</tr>";
}
echo "</table>";

mysqli_close($con);
?>

【问题讨论】:

    标签: php sql auto-increment


    【解决方案1】:

    在标题中添加这一行

    <th align='left'>#</th>
    

    这里是php代码

    $count = 1;
    while($row = mysqli_fetch_array($result))
    {
    echo "<tr>";
    echo "<td>" . $count . "</td>";
    echo "<td>" . $row['ss'] . "</td>";
    echo "<td>" . $row['Event'] . "</td>";
    echo "<td>" . $row['Performance'] . "</td>";
    echo "<td>" . $row['Wind'] . "</td>";
    echo "<td>" . $row['Pos'] . "</td>";
    echo "<td width='100' align='left'>" . $row['Surname'] . "</td>";
    echo "<td Width='100'>" . $row['Name'] . "</td>";
    echo "<td>" . $row['Age'] . "</td>";
    echo "<td>" . $row['Team'] . "</td>";
    echo "<td>" . $row['Meet'] . "</td>";
    echo "<td>" . $row['Date'] . "</td>";
    echo "</tr>";
    //other code
    $count=$count+1;
    }
    

    【讨论】:

    • 如果您认为对您有帮助,请将其标记为答案
    • 谢谢。我正在获取每条记录的数字,但右侧列中的数据不显示。我不是 100% 确定在哪里输入您提供的代码。你能告诉我吗?
    【解决方案2】:

    更好的解决方案是使用变量计数器来“编号”您的行:

    $counter = 1;
    
    while($row = mysqli_fetch_array($result))
       echo "<td>" . $counter . "</td>";
       $counter++;
    }
    

    这是正确的做法,因为如果 ss 列是 mysql 自动增量,那么您的行将不会按 SORT 编号,而是按它们插入数据库的顺序编号您应用的任何排序。

    【讨论】:

      【解决方案3】:

      尝试用 fetch_assoc 改变 fetch_array

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-06
        • 1970-01-01
        • 2021-03-21
        • 2019-01-18
        • 1970-01-01
        • 2013-03-28
        相关资源
        最近更新 更多