Сортировка данных JSON по дате и времени из данных MySQL в PHP

У меня есть база данных MySQL, заполненная данными, полученными от YouTube API v3. Мне удалось вывести эти данные в файл JSON с помощью приведенного ниже кода, однако я хочу, чтобы эти данные выводились в порядке убывания даты и времени. Строка json называется «publishedAt» и имеет формат «2015-03-26 15:59:35». Я пробовал различные другие подобные ответы и, похоже, не могу заставить его работать с функцией usort, поэтому мне было интересно, может ли кто-нибудь помочь. Я очень новичок в PHP, поэтому постарайтесь быть как можно более конкретным, пожалуйста.

Спасибо.

<?php
//open connection to mysql db
$connection = mysqli_connect("host","username","password","Dbname") or die("Error " . mysqli_error($connection));

//fetch table rows from mysql db
$sql = "select * from database";
$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));

// perform the query and store the result
$result = $connection->query($sql);

//create an array
$songarray = array();
while($row =mysqli_fetch_object($result))
{
    $songarray[] = $row;
}

echo json_encode($songarray);
//close the db connection
mysqli_close($connection);

$fp = fopen('jsondata.json', 'w');
fwrite($fp, json_encode($songarray));
fclose($fp);
?>

person user3599895    schedule 26.06.2015    source источник
comment
зачем вам usort на стороне PHP, когда вы можете просто select * from database order by publishedAt desc   -  person Alexey    schedule 26.06.2015
comment
@Alexey Как он уже упоминал, он получает данные из API, поэтому как он может изменить запрос.   -  person Sunil Pachlangia    schedule 26.06.2015
comment
@Sunil Pachlangia, насколько я понимаю вопрос: данные собираются API и сохраняются в таблице database. Я не вижу никакого кода API YouTube в приведенном выше фрагменте, просто извлекаю его из базы данных. Предполагая, что данные уже есть   -  person Alexey    schedule 26.06.2015
comment
Да, это было так просто. Извиняюсь, я слишком обдумал всю ситуацию.   -  person user3599895    schedule 26.06.2015
comment
@user3599895 user3599895, можете ли вы добавить простые данные из ваших json?   -  person Alex    schedule 26.06.2015


Ответы (2)


Я бы предложил вам изменить ваш SQL-запрос, чтобы отсортировать возвращаемые данные по дате и времени.

В зависимости от структуры вашей таблицы вам понадобится что-то вроде:

$sql = "select * from database order by date_column_name";
person TWJW    schedule 26.06.2015

Попробуйте изменить свой SQL на

$sql = "select * from database sort by publishedAt desc";
person JoSSte    schedule 26.06.2015