Сортировка многомерного массива из данных CSV с использованием PHP - PullRequest
0 голосов
/ 07 декабря 2010

Попытка отсортировать массив в PHP, который заполняется из CSV.Я также хотел бы, в идеале, ЛЮБИТЬ, чтобы иметь возможность управлять сортировкой, нажимая на вкладки в таблице здесь .. Хотя сейчас моя первая задача под рукой - просто сортировать эту чертову вещь ... работаюна это уже более 3 дней .. любая помощь очень ценится!Ура!

PHP

<?php 

$fp = fopen("https://spreadsheets.google.com/pub?key=0AjZgwY03sLMGdHVoWjhucGowWWJBb2g2NnQzVG9HZFE&hl=en&single=true&gid=0&output=csv","r"); 
$rows = array(); 
while (($row = fgetcsv($fp)) !== FALSE) { 
    $rows[] = $row; 
}
fclose($fp); 

$headers = array_shift($rows);
foreach ($rows as $row) : list($ShowKey, $ShowFeedURL, $ShowLink, $ShowIcon, $ShowTitle, $ShowTag, $ShowCategory, $ShowEps, $ShowLastUpdate, $ShowNew) = $row;

$oddpost = ( empty( $oddpost ) ) ? '_odd' : ''; ?>

Ответы [ 4 ]

1 голос
/ 07 декабря 2010

Я недавно сделал это.У меня был многомерный массив записей из базы данных, и мне нужно было сортировать их по одному конкретному столбцу в массиве.Вот что я сделал:

foreach($TimeRecords as $key => $value)
{
   $Rates[$key] = $value['rate'];
}
array_multisort($Rates, SORT_ASC, $TimeRecords);

Я строю массив только из нужного мне столбца, затем использую функцию array_multisort () для сортировки массива на основе этого столбца.

Выможет написать функции, которые будут делать это в PHP, а затем просто вызывать их с помощью javascript ajax-вызовов и перезагружать эту часть страницы после завершения сортировки.

0 голосов
/ 29 августа 2012

У меня была похожая проблема с этим сегодня.По сути, я закончил тем, что создал временную таблицу, которую я загрузил в строках нужного мне файла csv.Оттуда я использовал php для сортировки и организации данных и обновления или добавления в таблицу, которую мне нужно было изменить.

Например, я создал таблицу с именем temp и загрузил все строки нужной мне категории.Затем, как только это было в таблице, я сделал php-скрипт, который сортировал информацию по количеству общих продаж в порядке убывания.Оттуда я сделал запрос на обновление своей основной таблицы и использовал ограничение для управления этим (только 200 лучших позиций по количеству продаж).

Это было очень легко сделать и, надеюсь, это поможет вамкто-нибудь другой.

Имейте в виду.Если вы собираетесь сделать это более одного раза, вам нужно будет обрезать временную таблицу, чтобы сначала удалить старые строки.

0 голосов
/ 07 декабря 2010

Вместо сортировки таблицы в PHP, вы можете рассмотреть возможность сделать это на стороне клиента в JavaScript.Например, посмотрите на этот плагин jQuery: http://tablesorter.com/

0 голосов
/ 07 декабря 2010

Может оказаться полезной функция usort () . Он принимает аргумент обратного вызова, который может использоваться для сортировки по определенному полю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...