php - 将格式化数字添加到 MySQL 选择数组

标签 php mysql arrays select numbers

我正在构建一个简单的音乐网站,在选择页面上有一组专辑。左边是一组专辑封面,右边是相关的专辑名称和乐队名称。每张专辑都会被赋予一个编号,该编号将在标题/乐队名称中引用。有点像杂志内容页。

所以我的 SELECT 语句看起来像:

$albums_sql = "SELECT albums.*, bands.name FROM albums LEFT JOIN bands ON albums.band = bands.id LIMIT $offset, $album_limit";
$albums_res = mysqli_query($con, $albums_sql);

while($album = mysqli_fetch_assoc($albums_res)){

    $album_id = $album["id"];
    $album_added = $album["added"];
    $album_band = $album["name"];
    $album_title = $album["title"];
    ....

我显示的标题是这样的:

<div class=\"listWords\">$album_number ... <strong>$album_band: $album_title</strong></div>

现在显示:

... The Band Name: The Album Name

但我显然希望它显示:

01 ... The Band Name: The Album Name

如何使用 PHP 让它为从表中选择的每一行显示一个 2 位数字值?

这是我想我应该创建一个数字的地方:

$albums_sql = "SELECT albums.*, bands.name FROM albums LEFT JOIN bands ON albums.band = bands.id LIMIT $offset, $album_limit";
    $albums_res = mysqli_query($con, $albums_sql);

    while($album = mysqli_fetch_assoc($albums_res)){

        $album_id = $album["id"];
        $album_added = $album["added"];
        $album_band = $album["name"];
        $album_title = $album["title"];
        ....
        $album_number = ( Create a number based on how many are selected from the abover select statement )

最佳答案

可以简单到

$i=0;
while($album = mysqli_fetch_assoc($albums_res)){
    $album_number = $i++;
    $album_id = $album["id"];
    $album_added = $album["added"];
    $album_band = $album["name"];
    $album_title = $album["title"];
    ...

然后如果你想要 0 填充数字

echo sprintf("%02d",$album_number);

关于php - 将格式化数字添加到 MySQL 选择数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41377783/

相关文章:

php - 使用时间戳计算员工的工作时间

php - 如何在 Web 应用程序中接收和处理电子邮件

mysql - node/mysql查询多次返回相同的行:

python - 列表转换 - 就地

c++ - 模板类型定义的数组初始化

php - MySQL 语法错误显示 "near ' 1'"但我的查询中没有 '1'

php - 新的 paypal 系统已停止使用我的代码

java - 创建事件以删除表中的记录

mysql - 如何将 ADO.NET DbProviderFactory 与 MySQL 一起使用?

c++ - 不准确的 C++ 阶乘程序