【发布时间】:2018-01-08 18:17:10
【问题描述】:
$database = new mysqli("localhost","username","password","database");
$sql = "SELECT * FROM values ORDER BY value DESC";
$values = $database->query($sql);
while($row = $values->fetch_assoc()){
echo $row["value"];
}
$database->close();
PHP 从 SQL 表值中获取关联数组,然后循环遍历该数组并回显“值”列。我怎样才能让它也回显行号?我不能有一个单独的列,其中包含行号,因为这些行是按照存储在“值”列中的数字排序的,并且会定期更改。
谢谢。
【问题讨论】:
-
$values->num_rows 是你需要的
-
你意识到
VALUES在mysql中是保留的 -
名称已编辑。 @FunkFortyNiner
-
如果您的表没有
primary_key,那么您的表架构中确实出现了问题。 -
您可以在其中添加一个新变量,并在
while的每个循环中递增。或者,您可以在查询中添加一列,例如SELECT @row_number:=@row_number+1 AS row_number, values.* FROM values ...,然后在循环中引用新派生的row_number列。
标签: php mysql sql associative-array