Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dynamiczny podział tabeli + MySQl
Forum PHP.pl > Forum > PHP
pawelgdz
witam pobieram dane z tabeli wiem jak zrobić aby wyswietlic je tak:


a a a
a a a
a b b
b b b
c c c
c c d


ale nie mogę zmeczyc jak zrobic aby wyswietlać je tak :


a b c
a b c
a b c
a b d
a c d
b c d

czy ktos to zwalczy sad.gif
chomiczek
a może pokażesz kawałek kodu i strukture tabeli, bo póki co będzie ciężko cos poradzic
pawelgdz
no cóż wyciagam z bazy danych dane ...

  1. id nazwa


  1. <?php
  2.  
  3. $a = mysql_query("select * from kategorie");
  4.  
  5.  while ($z = mysql_fetch_assoc($a)) {
  6.  
  7.  echo "$x[nazwa]";
  8.  
  9.  }
  10.  
  11.  
  12. ?>


no i cóż chcę aby $x[nazwa] wyswietlalo sie np. w 3 kolumnach w taki sposob jak zademonstrowałem na poczatku
chomiczek
To co jest wyświetlane to jest tylko zawartość pola nazwa, tak? I to jest sortowane wg. jakiegoś klucza czy jak, bo nie kumam? te nazwy sie powtarzają?
pawelgdz
sortowane wedlug alfabetu nazwy kateogrii nie nie powtarzaja sie
chomiczek
czyżby chodziło Ci o
  1. <?php
  2. $zapytanie .= "ORDER BY `nazwa`";
  3. ?>
dr_bonzo
Transpozycja macierzy to sie nazywa, kod stary ale dziala:
  1. <?php
  2. $stara_tablica = array( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 );
  3.  
  4. $nowa_ilosc_kolumn = 3;
  5. $nowa_ilosc_wierszy = ceil( count( $stara_tablica ) / $nowa_ilosc_kolumn );
  6.  
  7. $stara_ilosc_kolumn = $nowa_ilosc_wierszy;
  8. $stara_ilosc_wierszy = $nowa_ilosc_kolumn;
  9.  
  10. // uzupelnij tablice pustymi ciagami znakow, aby ilosc elementow byla podz przez n
    owa_ilosc_kolumn
  11. $uzupelnij_x_razy = ( $nowa_ilosc_kolumn - count( $stara_tablica ) % $nowa_ilosc_kolumn ) % $nowa_ilosc_kolumn;
  12.  
  13. while ( $uzupelnij_x_razy > 0 )
  14. {
  15. $stara_tablica[] = '';
  16. $uzupelnij_x_razy--;
  17. }
  18.  
  19.  
  20. for ( $j = 0; $j < $stara_ilosc_wierszy; $j++ ) // wierszami starej macierzy
  21. {
  22. for ( $i = 0; $i < $stara_ilosc_kolumn; $i++ ) // kolumnami starej macierzy
  23. {
  24. $nowa_tablica[ $i * $stara_ilosc_wierszy + $j ] = $stara_tablica[ $j * $stara_ilosc_kolumn + $i ];
  25. }
  26. }
  27.  
  28. print_r( $stara_tablica );
  29. ksort( $nowa_tablica );
  30. print_r( $nowa_tablica );
  31.  
  32. ?>

teraz trzeba tylko wyswietlic to w $nowa_ilosc_kolumn kolumnach
pawelgdz
ale skoro ja pobieram to z bazy danych to nie mam takiej postaci tablicy array(1,2,3,4,5,6,7,8,9,10) tylko mam tablice asocjacyjną ..

$zmienna[element] itd... czy to zadziała ?


a pozatym to chyba nie zadziała mi chodzi i pobranie danych z bazy i umieszczenie ich w tabeli ...

<table> ... itd. ..

aby po wyswietleniu według alfabetu dane nie ustawiały się tak:


a a a
a a b
b b b
c c c

tylko tak :

a a b
a b c
a b c
a b c
bigZbig
W php tak naprawde kazda tablica jest asocjacyjna tylko niekiedy stringi bedace wartosciami kluczy sa cyframi.

poza tym

array(1,2,3);
jest rowne
array('0'=>1, '1'=>2, '2'=>3);

ponadto w skrypcie dr_bonzo sortowanie jest po wartosci a nie po kluczu wiec postac klucza nie ma znaczenia.
pawelgdz
ale moją "tablice" reprezentują stringi a nie liczby czyli

$zmienna['nazwa'];


moze ktos by mi to uwizualnił bo nie rozumiem sad.gif
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.