Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] sortowanie rekordow
flaszer
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.11.2007

Ostrzeżenie: (0%)
-----


witam,
mam baze danych oparta na pliku o postaci:
jola || chola || 21
ania || bania || 23

itd.

i teraz tak. pobieram te dane i rozdzielam do poszczegolnych zmiennych $imie, $nazwisko, $punkty i teraz moj problem polega na tym, ze jak sortuje tablice np. wg punktow, to chce, aby przy wyswietlaniu rekordy odpowiadaly bazie danych. halp mi :]
Go to the top of the page
+Quote Post
Liko
post
Post #2





Grupa: Zarejestrowani
Postów: 436
Pomógł: 6
Dołączył: 8.11.2003
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Chcesz posortować dane wg. kryteriów punktowych, czyli ostatniego pola? Dane masz zapisane w pliku. Zrobiłem coś takiego:
  1. <?php
  2. $aDb = file( 'baza.txt' );
  3. $aData = array();
  4. $aScores = array();
  5.  
  6. foreach( $aDb as $sValue ) {
  7. $aTemp = explode( '||', $sValue );
  8. $aData[trim($aTemp[2])] = array( $aTemp[0], $aTemp[1] );
  9. }
  10. ksort( $aData );
  11. var_dump( $aData );
  12. ?>


Co daje wyniki:
Kod
array
  2 =>
    array
      0 => string 'mania' (length=5)
      1 => string 'asdasd' (length=6)
  21 =>
    array
      0 => string 'ola' (length=3)
      1 => string 'chola' (length=5)
  24 =>
    array
      0 => string 'ania' (length=4)
      1 => string 'bania' (length=5)


Może to Ci coś pomoże...
Go to the top of the page
+Quote Post
flaszer
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.11.2007

Ostrzeżenie: (0%)
-----


dzieki, ale wpadlem jeszcze na inny pomysl (chociaz nie jestem pewnien czy zadziala tongue.gif). otoz, najpierw metoda sort(); posortuje tablice z punktami, a potem bede dla wczesniejszych danych porownywal posortowana wartosc z wartoscia z database, i bede jej rekordowi przypisywal nowy index - zgodny z punktami. pewnie zamieszalem, ale powinno dzialac biggrin.gif
Go to the top of the page
+Quote Post
1010
post
Post #4





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

Ostrzeżenie: (0%)
-----


Cytat(flaszer @ 13.12.2007, 14:02:57 ) *
dzieki, ale wpadlem jeszcze na inny pomysl (chociaz nie jestem pewnien czy zadziala tongue.gif). otoz, najpierw metoda sort(); posortuje tablice z punktami, a potem bede dla wczesniejszych danych porownywal posortowana wartosc z wartoscia z database, i bede jej rekordowi przypisywal nowy index - zgodny z punktami. pewnie zamieszalem, ale powinno dzialac biggrin.gif

sposób przedstawiony wyżej jest o wiele bardziej optymalny... i rozsądniejszy...


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 16:39