【问题标题】:Adding Formatted Numbers To A MySQL Select Array将格式化数字添加到 MySQL 选择数组
【发布时间】:2017-05-13 15:58:21
【问题描述】:

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

所以我的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 )

【问题讨论】:

  • 你能显示$albums_res的输出吗? $album_number 来自哪里?是您要显示的 ID,还是只是一个行号?
  • $album_number 是我尝试创建的,基于从 Select 语句中选择的行数。因此,如果每个页面选择 12 个专辑,它们将被列为专辑 1 - 12。我只是不知道如何对每个选择的结果进行编号。

标签: php mysql arrays select numbers


【解决方案1】:

可以这么简单

$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);

【讨论】:

  • 谢谢,太好了。我将 echo sprintf("%02d",$album_number); 更改为 $album_number = sprintf("%02d",$album_number); 以更好地将其嵌入到我的代码中,现在一切正常。
【解决方案2】:

只需在 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"];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 2015-04-08
    相关资源
    最近更新 更多