Хорошо, у меня есть поиск в Интернете по всему этому, и я не смог найти его, поэтому я задаю свою проблему здесь.
Сначала я покажу вам свой код:
if ($result = $mysqli->query("SELECT * FROM jarig
WHERE maand = 'April'
ORDER BY datum"))
{
if ($result->num_rows > 0)
{
while ($row = $result->fetch_object()){
$date = new DateTime($row->datum);
echo "'" . $date->format('d') . " " . $row->naam;
echo "<br />";
}
}
}
Моя проблема:
Как вы видите, у меня есть строка, которая содержит названия месяцев года, поэтому мне не нужно составлять больше таблиц и их легко отображать, потому что я могу заказать их по месяцам. Также у меня есть ряд с датами рождения.
Даты рождения (названные в таблице как DATUM) имеют тип «ДАТА» на моем столе (я надеюсь, что я говорю это правильно).
пример ДАТЫ в этом ряду следующие:
----------
DATUM
----------
1991-04-07
1978-04-12
2001-04-24
Они заполнены случайным образом, то есть со всеми датами, которые я сохранил в своей базе данных с днями рождения.
Результат, который мне нравилось видеть на моем сайте, немного отличается от того, что я хотел получить. Результаты отображаются только как дни, потому что они отправляются непосредственно в табличную ячейку, где они принадлежат в формате HTML:
Calendar Month: April
'12 Jan
'07 kees
'24 Frans
Мой вопрос:
Это происходит на всех датах, которые у меня есть, но мне нравится видеть, что они отображаются от первой даты месяца до последней даты месяца в правильном порядке, а не случайно. Как я показал вам выше. Хотелось бы видеть их в таком порядке, от самого низкого до самого высокого числа (07,12,24).
Как я могу исправить эту проблему?
Возможно, попробуйте изменить ваш запрос:
SELECT jarig.*, DATE_FORMAT(jarig.datum, '%d') AS day FROM jarig
WHERE maand = 'April'
ORDER BY day
Что вам действительно нужно, так это просто день даты, а не дата сама по себе. Таким образом, вы можете заказать по дням, а не по дате.
Тогда в вашем php, просто используйте столбец дня:
echo "'" . $row->day . " " . $row->naam;
echo "<br />";
Других решений пока нет …