У меня есть база данных MySQL, заполненная данными, полученными от API YouTube v3. Мне удалось вывести эти данные в файл JSON с приведенным ниже кодом, однако я хочу, чтобы эти данные выводились в порядке убывания даты и времени. Строка json называется «publishedAt», а формат «2015-03-26 15:59:35». Я пробовал различные другие подобные ответы и не могу заставить его работать с функцией usort, поэтому было интересно, может ли кто-нибудь помочь. Я очень новичок в PHP, поэтому старайтесь и будьте как можно более конкретными, пожалуйста.Сортировка данных JSON по дате времени из данных MySQL в 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);
?>
почему вам нужно 'usort' на PHP стороне, когда вы можете просто выбрать' * из заказа базы данных publishedAt desc' – Alexey
@Alexey Как уже упоминалось, он получает данные от API, так как он может изменить запрос. –
@Sunil Pachlangia, поскольку я понимаю вопрос: данные собираются API и хранятся в таблице «database». Я не вижу ни одного кода API YouTube в приведенном выше фрагменте, а просто извлекает из базы данных. Предполагая, что данные уже есть – Alexey