Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sortowanie większej tablicy
adiq
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 15.08.2009

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


Witam,
posiadam tablice:
  1. [1] => Array
  2. (
  3. [id] => 1
  4. [ilosc] => 4
  5. [name] => hadwao1
  6. [num] => aaa
  7. [tytul] => aaa
  8. )
  9.  
  10. [2] => Array
  11. (
  12. [id] => 2
  13. [ilosc] => 1
  14. [name] => w616
  15. [num] => aaa
  16. [tytul] => taaa
  17. )
  18.  
  19. [3] => Array
  20. (
  21. [id] => 3
  22. [ilosc] => 2
  23. [name] => zadek1234
  24. [num] => aaa
  25. [tytul] => aaa
  26. )
  27.  
  28. [4] => Array
  29. (
  30. [id] => 4
  31. [ilosc] => 6
  32. [name] => w887
  33. [num] => sss
  34. [tytul] => fff
  35. )
  36.  


Dane wyświetlam w pętli, niestety nie tak jak bym chciał. Dane wyświetlają się wg. id od najmniejszego.

Chciałbym aby tablice sortowały się wg. ilosci od największej, Proszę o pomoc!

Oto kod odpowiedzialny za wyświetlanie:
  1. for($r=1;$r<$xm;$r++) {
  2. $nazwa[$r]=str_replace("_", " ", $wynikk[$r][tytul]);
  3. echo '<tr><td><img src=images/img.png border=0 /></td><td><a style="color: black;" href=pokaz,'.$wynikk[$r][name].','.$wynikk[$r][num].','.$wynikk[$r][tytul].'.php />'.$nazwa[$r].'</a></td></tr>';
  4.  
  5. }


Proszę o pomoc (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(adiq @ 14.09.2009, 22:46:41 ) *
Załamie cię i napisze JAK!?

A czy ja pisze do człowieka czy maszyny, która nie posiada nawet sztucznej inteligencji?

MANUAL:
  1. function cmp($a, $b)
  2. {
  3. if ($a == $b) {
  4. return 0;
  5. }
  6. return ($a < $b) ? -1 : 1;
  7. }
  8.  
  9. $a = array(3, 2, 5, 6, 1); // tutaj wstaw swoja tablicę
  10.  
  11. usort($a, "cmp");
  12.  

A teraz magia!!!
  1. function cmp($a, $b)
  2. {
  3. if ($a['ilosc'] == $b['ilosc']) {
  4. return 0;
  5. }
  6. return ($a['ilosc'] < $b['ilosc']) ? -1 : 1;
  7. }

Toż to niesamowite... Ale patrząc na twój wynik to zapewne otrzymujesz go z bazy danych a sortowanie robi się ZAPYTANIEM. (ORDER BY)
Czy to było tak cholernie trudne? Dodatkowo miałeś na tej samej stronie manuala przykład jak to zrobić z kluczami które zawierają string (chwila "przeróbki" i masz co chcesz) ... CZYTAĆ LUDZIE!

Ten post edytował wookieb 14.09.2009, 22:15:55
Go to the top of the page
+Quote Post
adiq
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 15.08.2009

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


Cytat(wookieb @ 14.09.2009, 23:13:34 ) *
Ale patrząc na twój wynik to zapewne otrzymujesz go z bazy danych a sortowanie robi się ZAPYTANIEM. (ORDER BY)
Czy to było tak cholernie trudne? Dodatkowo miałeś na tej samej stronie manuala przykład jak to zrobić z kluczami które zawierają string... CZYTAĆ LUDZIE!

Tak, dane pobieram z bazy MySQL w pętli, przy użyciu WHERE `id`='$petla'.
Taki kod pobiera mi wszystkie dane, niestety wg.id.
Próbowałem pobierac dane posortowane wg. ilosci niestety otrzymywalem klika tych samych tabel, zamiast różnych.

Używam pętli for, może jakieś rozwiązanie dzięki któremu pobiorą się już posegregowane?

Oto pobieranie:
  1. for($x=0;$x<$xm;$x++) {
  2. $zapytaniee[$x]=sprintf("SELECT * FROM `pob` WHERE `id`='".$x."'");
  3. $queryy[$x]=mysql_query($zapytaniee[$x]);
  4. $wynikk[$x]=mysql_fetch_assoc($queryy[$x]);
  5. }
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 05:05