【问题标题】:php and mysql, how to sort inside while loopphp和mysql,如何在while循环中排序
【发布时间】:2013-12-01 13:35:08
【问题描述】:

我需要按名为 'sort' 或 $udaj[5] 的行对 while 循环进行排序,我的代码如下。

<?php

$query = "SELECT * FROM yees where category = 1";
$vysledek = mysqli_query($my_link, $query);

while ($udaj = mysqli_fetch_array($vysledek)):

    echo "<a href='detail.php?id=" . $udaj[0] . "' class='yee'>";
        echo "<img src='" . $udaj[3] . "' alt='' class='avatar'>";
        echo "<div class='basic-info'>";
            echo "<div class='name'>" . $udaj[1]."</div>";
            echo "<div class='tagline'>" . $udaj[6] . "</div>";
        echo "</div>";
        echo "<img src='" . $udaj[4] . "' alt='' class='cover'>";
        echo "<div class='clear'>&nbsp;</div>";
    echo "</a>";

endwhile;

?>

我试过了,但没有用。

$query = "SELECT * FROM yees where category = 1 ORDER BY sort ASC";

问题可能是我的 col 被称为“排序”,这是不允许的,因为它是关键字??

【问题讨论】:

  • 定义“不起作用”。有错误吗?
  • 不,只是没有排序,还是一样
  • 如果 sort 是关键字,那么如果你用反引号括起来就可以使用它。

标签: php mysql sorting mysqli row


【解决方案1】:

您应该返回使用 SQL 为您排序。我不认为有什么问题。

使用正确的行名也更简洁,因为 mysqli_fetch_array 将返回关联数组以及编号索引数组中的值。

还以 heredoc 格式打印 HTML;它比多个 echo 语句更容易阅读

echo <<<EOF
<a href='detail.php?id={$udaj['col0']}' class='yee'>
<img src='{$udaj['col3']}' alt='' class='avatar'>
<div class='basic-info'>
<div class='name'>{$udaj['col1']}</div>
<div class='tagline'>{$udaj['col6']}</div>
</div>
<img src='{$udaj['col4']}' alt='' class='cover'>
<div class='clear'>&nbsp;</div>
</a>
EOF;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-01
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 2018-12-14
    • 2020-03-12
    相关资源
    最近更新 更多