我正在使用CSV文件中的PHP创建一个表。
我正在尝试按CSV文件中的一列对输出(DESCENDING)进行排序:$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 :(得分:0)
您需要将所有行加载到数组中,排序,然后回显表。你需要把它分成两个循环。