konnor
Guest
Сортировка в текстовом файле
Нашел такой скрипт
Он работает только есть проблема!
Сортировка идет по цене
Файл base_sort.dat
Арбуз<>круглый<>260 y.e.
Финик<>мягкий<>95 y.e.
Груша<>сладкая<>355 y.e.
Яблоко<>зеленое<>20 y.e.
Сортирует так
Финик<>мягкий<>95 y.e.
Груша<>сладкая<>355 y.e.
Арбуз<>круглый<>260 y.e.
Яблоко<>зеленое<>20 y.e.
Мне нужно что бы сортировало по цене в сторону возрастания!
то есть
на выходе было
Груша<>сладкая<>355 y.e.
Арбуз<>круглый<>260 y.e.
Финик<>мягкий<>95 y.e.
Яблоко<>зеленое<>20 y.e.
Так что бы цены сортировались по возрастанию!
Как это решить подскажите!
Нашел такой скрипт
Он работает только есть проблема!
Сортировка идет по цене
PHP:
<? $base_sort = "base_sort.dat";
function priceCmp ( $a, $b ){
if ( $a[price] == $b[price] ) return 0;
if ( $a[price] > $b[price] ) return -1; return 1;}
echo" <table align=center width=400>";
if ($sort == price) {
$general = file($base_sort);
for ( $i = 0; $i < count ($general); $i++) {
list ($name,$a,$price) = explode("<>", $general[$i]);
$products[$i] = array( price => $price, name => "$name<>$a");
}
$fp = fopen ($base_sort, "w");
usort( $products, priceCmp );
foreach ( $products as $val ) fputs ($fp, "$val[name]<>$val[price]");
fclose ($fp);
}
$general = file ($base_sort);
for ( $i = 0; $i < count ($general); $i++) {
list ($name,$a,$price) = explode("<>", $general[$i]);
echo"<tr>
<td align=center> $name</td>
<td align=center> $a</td>
<td align=center> $price</td> </tr>";
}
echo"</table><br>
<table align=center width=400>
<tr> <td align=center> </td>
<td align=center><a href=$PHP_SELF?act=sort&sort=price>сортировать по полю: Цена</a></td>
</tr> </table>"; ?>
Файл base_sort.dat
Арбуз<>круглый<>260 y.e.
Финик<>мягкий<>95 y.e.
Груша<>сладкая<>355 y.e.
Яблоко<>зеленое<>20 y.e.
Сортирует так
Финик<>мягкий<>95 y.e.
Груша<>сладкая<>355 y.e.
Арбуз<>круглый<>260 y.e.
Яблоко<>зеленое<>20 y.e.
Мне нужно что бы сортировало по цене в сторону возрастания!
то есть
на выходе было
Груша<>сладкая<>355 y.e.
Арбуз<>круглый<>260 y.e.
Финик<>мягкий<>95 y.e.
Яблоко<>зеленое<>20 y.e.
Так что бы цены сортировались по возрастанию!
Как это решить подскажите!