php和mysql,如何在循环中排序

时间:2013-12-01 13:35:08

标签: php mysql sorting mysqli row

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

<?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;

&GT;

我试过了,但没有用。

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

问题可能是我的col被称为“sort”,因为它的关键字是

,所以不允许这样做

1 个答案:

答案 0 :(得分:-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;