Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> dynamiczny podział tabeli + MySQl
pawelgdz
post 15.03.2006, 20:38:58
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

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


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
Go to the top of the page
+Quote Post
chomiczek
post 15.03.2006, 21:32:50
Post #2





Grupa: Zarejestrowani
Postów: 271
Pomógł: 4
Dołączył: 5.01.2005

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


a może pokażesz kawałek kodu i strukture tabeli, bo póki co będzie ciężko cos poradzic


--------------------
created by chomiczek
Go to the top of the page
+Quote Post
pawelgdz
post 15.03.2006, 21:44:02
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

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


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
Go to the top of the page
+Quote Post
chomiczek
post 15.03.2006, 22:18:34
Post #4





Grupa: Zarejestrowani
Postów: 271
Pomógł: 4
Dołączył: 5.01.2005

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


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ą?


--------------------
created by chomiczek
Go to the top of the page
+Quote Post
pawelgdz
post 15.03.2006, 22:22:39
Post #5





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

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


sortowane wedlug alfabetu nazwy kateogrii nie nie powtarzaja sie
Go to the top of the page
+Quote Post
chomiczek
post 16.03.2006, 00:10:19
Post #6





Grupa: Zarejestrowani
Postów: 271
Pomógł: 4
Dołączył: 5.01.2005

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


czyżby chodziło Ci o
  1. <?php
  2. $zapytanie .= "ORDER BY `nazwa`";
  3. ?>


--------------------
created by chomiczek
Go to the top of the page
+Quote Post
dr_bonzo
post 16.03.2006, 00:46:22
Post #7





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


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


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
pawelgdz
post 16.03.2006, 15:27:36
Post #8





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

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


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

Ten post edytował pawelgdz 16.03.2006, 15:31:22
Go to the top of the page
+Quote Post
bigZbig
post 16.03.2006, 16:00:27
Post #9





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


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.

Ten post edytował bigZbig 16.03.2006, 16:01:18


--------------------
bigZbig (Zbigniew Heintze) | blog.heintze.pl
Go to the top of the page
+Quote Post
pawelgdz
post 16.03.2006, 16:55:04
Post #10





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

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


ale moją "tablice" reprezentują stringi a nie liczby czyli

$zmienna['nazwa'];


moze ktos by mi to uwizualnił bo nie rozumiem sad.gif
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 Wersja Lo-Fi Aktualny czas: 19.06.2025 - 06:45