2015-08-14 3 views
0

Я создаю таблицу, используя PHP из файла CSV.PHP: сортировка вывода CSV по числовому столбцу?

Я пытаюсь сортировать вывод (по убыванию) по одному столбцу из файла CSV, который: $line_of_text[13]

Но я понятия не имею, как это, как это не так прямо вперед, как сортировка выход, если я использовал mysql.

Это весь мой код:

<?php 

$file_handle = fopen("MY-CSV-FILE.csv", "r"); 

print "<table style='width:100%; float:left;'>\n"; 
while (!feof($file_handle)) { 




    //print '<tr>'; 
    $line_of_text = fgetcsv($file_handle, 1024); 

$line_of_text = str_replace('http', '<a href=""><img title="Click To Enlarge" class="fancybox" style="width:210px; height=210px; float:left;" src ="http', $line_of_text); 
$line_of_text = str_replace('jpg', 'jpg"/></a>', $line_of_text); 

$line_of_text = str_replace(',', '', $line_of_text); 
$line_of_text = str_replace('PictureRefs', '', $line_of_text); 

asort($line_of_text); 

foreach($line_of_text as $key => $value) 

    print "<tr><td>".$line_of_text[9].'</td><td>'.$line_of_text[10].'</td><td>'.$line_of_text[2].'</td><td>'.$line_of_text[5].'</td><td>'.$line_of_text[6].'</td><td>'.$line_of_text[7].'</td><td>'.$line_of_text[8].'</td><td>'.$line_of_text[3].'</td><td>'.$line_of_text[4].'</td><td>'.$line_of_text[11].'</td><td>'.$line_of_text[12].'</td><td>'.$line_of_text[13].'</td><td>'.$line_of_text[14].'</td><td>'.$line_of_text[15]."</td></tr>\n<tr><td width='100%' colspan='100'><div style=' width:100%;'>".$line_of_text[16]."</div></td></tr>"; 


} 
print '</table>'; 
fclose($file_handle); 
?> 

Как вы можете видеть, что я начал делать это:

asort($line_of_text); 

foreach($line_of_text as $key => $value) 

, но я не думаю, что это правильно!

Может кто-нибудь проконсультироваться по этому вопросу?

любая помощь будет оценена.

+0

Возможный дубликат [Ссылка: все основные способы сортировки массивов и данных в PHP] (http://stackoverflow.com/questions/17364127/reference-all-basic-ways-to-sort-arrays-and-data -in-php) // Конечно, сначала нужно поместить все строки в массив, так что не две петли, вложенные друг в друга, а две отдельные друг за другом. – CBroe

ответ

0

Вам нужно загрузить все ваши строки в массив, отсортировать, а затем эхо-таблицу. Вам нужно разбить это на две петли.

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