Поле в базе не DATE, а просто varchar, дата записана в формате дд.мм.гггг
Спустя 2 минуты, 51 секунда (29.10.2010 - 07:59) Michael написал(а):
Цитата (bobo @ 29.10.2010 - 06:56) |
Поле в базе не DATE, а просто varchar, дата записана в формате дд.мм.гггг |
Поменяй лучше сразу на один из типов даты, например timestamp
Цитата |
и перед записью в таблицу ? |
строки в таблице хранятся в виде неупорядоченного множества.
Спустя 9 минут, 28 секунд (29.10.2010 - 08:08) bobo написал(а):
Изменить тип поля не получится, скрипты уже написаны, все переделывать не вариант.
И при чем тут, как хранятся записи в таблице ?
На данный момент конструкция выглядит так:
И при чем тут, как хранятся записи в таблице ?
На данный момент конструкция выглядит так:
<?php
if ($selectobject) {
$querytarif = mysql_query("SELECT * FROM `tarif` WHERE `tridobj` = $selectobject ORDER BY `trdatestart` ASC") or die(mysql_error());
if (mysql_num_rows($querytarif) > 0) {
while ($arraytarif = mysql_fetch_assoc($querytarif)) {
?>
<tr>
<td width='60'><?php echo $arraytarif['trdatestart']; ?></td>
<td width='60'><?php echo $arraytarif['trdatefinish']; ?></td>
<td width='30'><?php echo $arraytarif['trabonpay']; ?></td>
<td width='30'><?php echo $arraytarif['trabonpayreal']; ?></td>
<td><?php echo $arraytarif['trprim']; ?></td>
<td width='10' <?php if ($arraytarif['trfire'] == 1) { echo "background-color:#f00; color:#f00"; } else if ($arraytarif['trfire'] == 0) { echo "color:#fff"; } ?>><?php echo $arraytarif['trfire']; ?></td>
<td width='80'<?php $array_trchop = mysql_fetch_assoc(mysql_query("SELECT `choptype` FROM `choptype` WHERE `id` = '".$arraytarif['tridchop']."'")); echo $array_trchop['choptype']; ?></td>
<td width='0' style='display:none'><?php echo $arraytarif['id']; ?></td>
<td width='50'> <?php $array_truseredit = mysql_fetch_assoc(mysql_query("SELECT `login` FROM `users` WHERE `id` = '".$arraytarif['truseredit']."'")); echo $array_truseredit['login']; ?></td>
</tr>
<?php
}
}
?>
Спустя 7 минут, 10 секунд (29.10.2010 - 08:15) linker написал(а):
Надо было сразу делать по уму или хотя бы писать в формате yyyy-mm-dd, тогда можно было бы и сортировать нормально. А так, совет - меняйте, переписывайте, много сил это не займет, тут работы всего ничего.
Спустя 2 минуты, 51 секунда (29.10.2010 - 08:18) bobo написал(а):
Ок, подскажите тогда, как при выборке из базы дату формата гггг-мм-дд преобразовывать в нужный мне формат дд.мм.гггг ?
Спустя 3 минуты, 5 секунд (29.10.2010 - 08:21) Michael написал(а):
Может так получится сортировать:
?
SELECT * FROM mytable ORDER BY STR_TO_DATE(твой_столбец, '%d.%m.%Y' ) DESC
?
Спустя 11 минут, 20 секунд (29.10.2010 - 08:33) bobo написал(а):
Michael, даж не знаю, что и сказать 
Гениально!
Спасибо!

Гениально!

Спустя 14 секунд (29.10.2010 - 08:33) linker написал(а):
Так можно, непонятно нафига сознательно тормозить работу, видимо всего проекта.
Спустя 3 минуты, 46 секунд (29.10.2010 - 08:37) bobo написал(а):
Цитата (linker @ 29.10.2010 - 05:33) |
Так можно, непонятно нафига сознательно тормозить работу, видимо всего проекта. |
Отчасти ты прав, но в данном случае на скорость работы это не повлияет, а переписывать код, причем чужой, дело неблагодарное)