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

时间:2016-12-29 10:29:24

标签: 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>

现在显示:

  

...乐队名称:专辑名称

但我显然希望它显示:

  

01 ...乐队名称:专辑名称

如何使用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 )

2 个答案:

答案 0 :(得分:0)

可以像

一样简单
$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);

答案 1 :(得分:0)

只需将变量声明为while循环之外的计数器,并在每次迭代时递增。

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