Iai*_*son 2 php mysql sql-order-by
我使用php从我的mysql数据库中取出记录,并希望通过名为expdate的数据库字段对它们进行排序.
提醒的日期以17-04-12格式存储在表格中作为varchar.
我使用以下代码将所有记录拉出来并通过expdate列对它们进行排序.
<table border="0" style="text-align:left;">
<tr style="text-align:left;">
<th style="text-align:left;" width="200px" scope="col">Name</th>
<th style="text-align:left;" width="200px" scope="col">Email</th>
<th style="text-align:left;" width="200px" scope="col">Telephone</th>
<th style="text-align:left;" width="200px" scope="col">Current Cover Expires</th>
</tr>
<?php
$today = date("d-m-y");
$result = mysql_query("SELECT * FROM ymeg_chronoforms_data_NewsletterSubscribe ORDER BY expdate")or die(mysql_error());
echo '<tr style="text-align:left;">';
while($row = mysql_fetch_array($result))
{
echo '<td style="text-align:left;">';
echo $row['name'];
echo '</td>';
echo '<td style="text-align:left;">';
echo $row['email'];
echo '</td>';
echo '<td style="text-align:left;">';
echo $row['tel'];
echo '</td>';
echo '<td style="text-align:left;">';
echo $row['expdate'];
echo '</td>';
echo "</tr>";
}
?>
</table>
Run Code Online (Sandbox Code Playgroud)
问题是,列的排序非常随机,它输出记录并按此日期顺序对它们进行排序:
08-07-12
17-05-12
17-05-13
Run Code Online (Sandbox Code Playgroud)
尝试
order by STR_TO_DATE(expdate, '%d-%m-%y')
Run Code Online (Sandbox Code Playgroud)
(并且下次使用实际日期格式...用于日期数据;))
| 归档时间: |
|
| 查看次数: |
4485 次 |
| 最近记录: |