Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z sortowaniem
Forum PHP.pl > Forum > PHP
Mertuch
Otóż mam pewien problem.
Stworzyłem sobie taki w miarę prosty system newsów.

CODE

<center><table id="newsy"><tr><td>
<?php
$elementy = "./sloneczne/strona_glowna/08_09/elementy/";
$adres = "index.php?sloneczne=strona_glowna&rocznik=08_09";
define('WIERSZY',4);
define('KOLUMN',1);
$x=0;
foreach (glob($elementy."*.php") as $element) $album[$x++]=$element;
$na_stronie=WIERSZY*KOLUMN; $razem=count($album);
$stron=floor($razem/$na_stronie); $stron+=$razem % $na_stronie ? 1:0;
$strona=$_GET['strona']; if (!isset($strona)) $strona=1;
$start=($strona-1) * $na_stronie;
$stop=($strona==$stron) ? $razem % $na_stronie: $na_stronie;
$stop+=$start;
echo "<table id='elementy'><tr>";
for ($x=$start;$x<$stop;$x++){
if (!($x % KOLUMN)) echo "</tr><tr>";
echo "<td>";?><?php include "$album[$x]";

echo "</td>";
}
echo "</tr></table>";

if ($stron>1){
echo "<br>";
echo "$stron<br>";
echo "Strona: ";

for($x=1;$x<=$stron;$x++) {
if ($strona==$x){echo "<b> $x </b>";}
else {echo "<a href=\"$adres&strona=$x\"> $x </a>";}
}
}

?>
</td></tr></table>
</center>


Jak widać, skrypt pobiera z określonego katalogu pliki z formatem *.php, które są newsami, po czym sprawdza ich ilość, tworząc tabelkę lub dzieląc na strony.

Problem mam z sortowaniem, ponieważ ten skrypt automatycznie wyświetla mi newsy (znajdujące się w plikach) od A do Z, od 1 do 9. Tzn jak mam dwa newsy, pierwszy w pliku 1.php a drugi w pliku 2.php to ten drugi (czyli nowszy) powinien być nad pierwszym a nie pod nim.
I tu pytanie.
Jak przerobić ten skrypt, żeby wyświetlał mi zawartość folderu przeciwnie niż idzie alfabet (lub liczby) czyli od Z do A i od 9 do 1?
wrzasq
najpierw laduj liste, a potem ja po prostu sortuj po nazwach plikow. aczkolwiek conajmniej dziwny sposob, chyba o wiele prosciej uzywac bazy danych SQL...
Mertuch
Jakoś mnie odpycha od Sqla...
Prosiłbym jednak o gotowca smile.gif
dadexix
znam też takiego co go odpychało a teraz to go kocha...


Cytat
bool sort ( array &$tablica [, int $flagi ] )
[...]
Flagi typu sortowania:

* SORT_REGULAR - porównuj elementy normalnie (nie zmienia typów)
* SORT_NUMERIC - porównuj elementy jako liczby
* SORT_STRING - porównuj elementy jako ciągi tekstowe


Nie wiem czy to działa ale powinno:)

A jak nie to napewno rsort" title="Zobacz w manualu PHP" target="_manual


A co do gotowca, zrogóły daje ale nie mam jak sprawdzić, a na tym forum przeważnie odpowiedz "gotowców nie dajemy":)
Mertuch
Tak tak. Czytałem coś o rsort, ale ni w uj nie potrafiłem jej zastosować. Tzn ja chcę posortować wyświetlanie plików w przeciwieństwie niż alfabet a rsort() sortuje ciągi? Chyba, że ja nie potrafię tego zastosować.
neverever
Cytat(Mertuch @ 3.08.2008, 20:29:14 ) *
Tak tak. Czytałem coś o rsort, ale ni w uj nie potrafiłem jej zastosować. Tzn ja chcę posortować wyświetlanie plików w przeciwieństwie niż alfabet a rsort() sortuje ciągi? Chyba, że ja nie potrafię tego zastosować.

No pewno nie umiesz.

  1. <?php
  2. foreach (glob($elementy."*.php") as $element) $album[$x++]=$element;
  3. $na_stronie=WIERSZY*KOLUMN; $razem=count($album);
  4. ?>

Więc liste plików masz w tablicy $album, no więc dajesz poniżej tych linijek rsort($album);
Mertuch
Dlaczego PHP jest taki dziwny? Dlaczego zawsze rozwiązanie problemu, nad którym głowię się tygodniami można rozwiązać w 5 sekund jak się pomyśli?
Niech mi ktoś te odpowiedzi napisze jak je zna wstydnis.gif
Tak czy siak, bardzo mi pomogłeś. Dzięki wielkie!
wrzasq
Cytat
Dlaczego PHP jest taki dziwny?

Za pare lat sie okaze, ze PHP mialo byc zartem, a ludzia sie spodobalo ;P.

Cytat
Dlaczego zawsze rozwiązanie problemu, nad którym głowię się tygodniami można rozwiązać w 5 sekund jak się pomyśli?

sam sobie odpowiedziales winksmiley.jpg.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.