ORDER BY 子句在实时服务器中无法正常工作
ORDER BY clause not working in live server properly
我开发了一个 php 项目,其中包含 table 'test'。获取并显示行,并使用 SQL
查询中的 ORDER BY
子句按日期列对其进行排序。以下是使用的代码块
<?php
foreach($stmt =$conn->query('SELECT * FROM test JOIN users USING(rollno)
WHERE rollno='.$userRow['rollno'].' order by date desc')as $row){ ?>
<button class="accordion"><b>Test on <?php echo date('d-m-Y', strtotime( $row['date'] )); ?></b></button>
<div class="panel">
<p>
<table border="1">
<?php
echo "<tr><td>Date: " . date('d-m-Y', strtotime( $row['date'] )) . "</td></tr>";
echo "<tr><td>Subject: " . $row['sub'] . "</td></tr>";
echo "<tr><td>Topic: " . $row['topic'] . "</td></tr>";
echo "<tr><td>Type: " . $row['type'] . "</td></tr>";
echo "<tr><td>Total Marks: " . $row['totl_marks'] . "</td></tr>";
echo "<tr><td>Marks Obtained: " . $row['marks'] . "</td></tr>";
echo "<tr><td>Rank: " . $row['rank'] . "</td></tr>"; ?>
</table>
</p>
</div>
<?php }?>
我想对记录进行排序,使最新的排在最前面。数据库中存储的日期是 d-m-Y 格式。该系统在本地主机上运行良好,但当项目上线时,记录未按预期排序。数据库中的日期列使用 varchar
类型。可能是什么问题?
STR_TO_DATE mysql 中的函数可以提供帮助。它首先将数据库中的日期字符串转换为 date
类型,然后应用 order by.
查询顺序应为:
ORDER BY STR_TO_DATE(date,'%d-%m-%Y') DESC
我开发了一个 php 项目,其中包含 table 'test'。获取并显示行,并使用 SQL
查询中的 ORDER BY
子句按日期列对其进行排序。以下是使用的代码块
<?php
foreach($stmt =$conn->query('SELECT * FROM test JOIN users USING(rollno)
WHERE rollno='.$userRow['rollno'].' order by date desc')as $row){ ?>
<button class="accordion"><b>Test on <?php echo date('d-m-Y', strtotime( $row['date'] )); ?></b></button>
<div class="panel">
<p>
<table border="1">
<?php
echo "<tr><td>Date: " . date('d-m-Y', strtotime( $row['date'] )) . "</td></tr>";
echo "<tr><td>Subject: " . $row['sub'] . "</td></tr>";
echo "<tr><td>Topic: " . $row['topic'] . "</td></tr>";
echo "<tr><td>Type: " . $row['type'] . "</td></tr>";
echo "<tr><td>Total Marks: " . $row['totl_marks'] . "</td></tr>";
echo "<tr><td>Marks Obtained: " . $row['marks'] . "</td></tr>";
echo "<tr><td>Rank: " . $row['rank'] . "</td></tr>"; ?>
</table>
</p>
</div>
<?php }?>
我想对记录进行排序,使最新的排在最前面。数据库中存储的日期是 d-m-Y 格式。该系统在本地主机上运行良好,但当项目上线时,记录未按预期排序。数据库中的日期列使用 varchar
类型。可能是什么问题?
STR_TO_DATE mysql 中的函数可以提供帮助。它首先将数据库中的日期字符串转换为 date
类型,然后应用 order by.
查询顺序应为:
ORDER BY STR_TO_DATE(date,'%d-%m-%Y') DESC