我需要从下到上显示目录。从插入新行开始,它出现在底部,当我使用 mysqli_fetch_array 访问它时,它会在底部显示最近插入的行。代码是这样的:
<?php
$abc = mysqli_connect("localhost","root","","members") or die(mysqli_error($abc));
$select_query = "SELECT title, url, photographer, genere, timestamp FROM gallery";
$select_query_result = mysqli_query($abc, $select_query) or die(mysqli_error($abc));
?>
在html的某个地方,这段代码出现了。
<ol class="pictures">
<?php while($row = mysqli_fetch_array($select_query_result)) { ?>
<li class="thumbnail" data-div="<?php echo $row['genere'] ?>,<?php echo $row['photographer'] ?>,<?php echo $row['title'] ?>,<?php echo $row['timestamp'] ?>" style="background-image: url(<?php echo $row['url'] ?>)">
</li>
<?php } ?>
</ol>
那么,我该怎样做才能以相反的顺序显示它,这样我才能在显示时获得最新的条目。
答案 0 :(得分:2)
只需使用
命令SQL查询ORDER BY属性ASC / DESC
因此,例如,如果您想要最新的条目,只需将您的SQL查询更改为:
"SELECT title, url, photographer, genere, timestamp FROM gallery ORDER BY timestamp desc"
它应该有效。您可以使用所需的任何属性执行此操作。如果您有主键,我建议使用主键(ID),但由于您没有选择它,您也可以使用时间戳。 https://www.tutorialspoint.com/sql/sql-sorting-results.htm
答案 1 :(得分:0)
使用Order By
:
<?php
$abc = mysqli_connect("localhost","root","","members") or die(mysqli_error($abc));
$select_query = "SELECT title, url, photographer, genere, timestamp FROM gallery ORDER BY timestamp DESC";
$select_query_result = mysqli_query($abc, $select_query) or die(mysqli_error($abc));
?>
答案 2 :(得分:0)
只需修改您的SQL查询
使用ORDER BY
SELECT title, url, photographer, genere, timestamp FROM gallery ORDER BY id DESC ;
答案 3 :(得分:0)
如果您不想使用ORDER BY
:
for($i = count($select_query_result), $i > 0; $i--) {
// Actions
}