Попытка сортировать массив в 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' : ''; ?>
Вместо того, чтобы сортировать таблицу в PHP, вы можете подумать об этом на стороне клиента в Javascript. Например, посмотрите этот плагин jQuery: http://tablesorter.com/
Недавно я это сделал. У меня был многомерный массив записей из базы данных, и мне нужно было отсортировать их на основе одного конкретного столбца в массиве. Вот что я сделал:
foreach($TimeRecords as $key => $value) { $Rates[$key] = $value['rate']; } array_multisort($Rates, SORT_ASC, $TimeRecords);
Я создаю массив только нужного столбца, затем я использую функцию array_multisort () для сортировки массива, основанного на этом столбце.
Вы можете писать функции, которые будут делать это на PHP, а затем просто называть их с помощью javascript ajax-вызовов и перезагружать эту часть страницы, когда она будет сортироваться.
Вы можете найти функцию usort () полезной. Он принимает аргумент обратного вызова, который может использоваться для сортировки по определенному полю.
Сегодня у меня была аналогичная проблема. В основном, что я закончил делать, это создать временную таблицу, которую я загрузил в строки из файла csv, который мне нужен. Оттуда я использовал php для сортировки и упорядочивания данных и обновления или добавления в таблицу, которую мне нужно было изменить.
Например, я сделал таблицу под названием «temp» и загрузился во все строки нужной мне категории. Затем, как только это было в таблице, я сделал php-скрипт, который отсортировал информацию по количеству продаж в порядке убывания. Оттуда я сделал запрос на обновление моей основной таблицы и использовал лимит для управления этим (только 200 наименований по количеству продаж).
Это было очень легко сделать и, надеюсь, это поможет вам или кому-то еще.
Иметь ввиду. Если вы собираетесь делать это несколько раз, вам нужно усечь временную таблицу, чтобы сначала удалить старые строки.