У меня возникла следующая проблема. Я получил поле mysql, которое является типом «текст», и в нем много дат рождения. Я хочу распечатать даты и отсортировать их по своему формату даты. Я не могу изменить тип в базе данных, потому что он связан с полями значений пользовательского профиля.
Значения этого значения в базе данных таковы:
1978-12-31 23:59:59
Это мой запрос:
$result = mysql_query("SELECT a.value, b.username from yrt6h_community_fields_values a join yrt6h_users b on a.user_id = b.id where a.field_id = 3 order by a.value;");
И этот мой пример php-файла:
<table> <tr> <td>User:</td> <td>Datum:</td> </tr> <?php while($row = mysql_fetch_array($result)){ echo '<tr>'; echo '<td>'; echo $row['username'] . ' : '; echo '</td>'; echo '<td>'; echo $row['value']; echo '</td></tr>'; } ?> </table>
Я пробовал все функции формата даты mysql, но потом ничего не получил. Например, я пробовал это:
mysql_query("SELECT str_to_date(a.value, '%d.%m.%Y'), ...
или
mysql_query("SELECT str_to_date(date_format(a.value, '%Y.%m.%d') %d.%m.%Y), ...
Но я делаю это, эхо даты пуста. Больше нечего печатать. Но почему? Даже если я поместил этот запрос непосредственно в базу данных, я получил NULL для значения дня рождения.