2015-06-26 4 views
0

У меня есть база данных 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); 
?> 
+0

почему вам нужно 'usort' на PHP стороне, когда вы можете просто выбрать' * из заказа базы данных publishedAt desc' – Alexey

+0

@Alexey Как уже упоминалось, он получает данные от API, так как он может изменить запрос. –

+0

@Sunil Pachlangia, поскольку я понимаю вопрос: данные собираются API и хранятся в таблице «database». Я не вижу ни одного кода API YouTube в приведенном выше фрагменте, а просто извлекает из базы данных. Предполагая, что данные уже есть – Alexey

ответ

0

Я бы предложил вам изменить ваш запрос sql для сортировки возвращаемых данных по дате.

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

$sql = "select * from database order by date_column_name"; 
0

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

$sql = "select * from database sort by publishedAt desc"; 

 Смежные вопросы

  • Нет связанных вопросов^_^