Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Wyświetlanie danych wzdłuż kolumny
bahh
post
Post #1





Grupa: Zarejestrowani
Postów: 261
Pomógł: 2
Dołączył: 13.05.2012

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


Witam

Pobieram dane z tabeli i wyświetlam je za pomocą pętli while.

Chcę by je wyświetliło w 4 kolumnach.
Ustawiłem przy każdej danej float:left i w ten sposób wyświetliłem dane w 4 kolumnach jednakże nie w kolejności w jakiej bym chciał tzn:

aaa | bbb | ccc | ddd
eee | fff | ggg | hhh
iii | jjj

Chciałbym je wyświetlić w takiej kolejności:

aaa | ddd | ggg | jjj
bbb | eee | hhh
ccc | fff | iii

Jakieś pomysły czy rozwiązania jak coś takiego zrobić?

Pozdrawiam

Ten post edytował bahh 3.09.2012, 17:48:19
Go to the top of the page
+Quote Post
Age1869
post
Post #2





Grupa: Zarejestrowani
Postów: 118
Pomógł: 6
Dołączył: 25.10.2010
Skąd: Radzyn Podlaski

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


Podzielić to na 3 divy - poziomo (IMG:style_emoticons/default/smile.gif) A potem odpowiednio tak, jak robiłeś?
Go to the top of the page
+Quote Post
bahh
post
Post #3





Grupa: Zarejestrowani
Postów: 261
Pomógł: 2
Dołączył: 13.05.2012

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


Nie mam pomysłu na to, jedynie co mi przychodzi do głowy to żeby liczbę rekordów dzielić przez 4 (ilość kolumn) i liczyć odpowiednio ilość pętli i ustawiać w ten sposób wyświetlanie alfabetyczne co jest niestety raczej beznadziejnym rozwiązaniem.

mam while... a pod while echo '<div style="float:left;">...</div>
Go to the top of the page
+Quote Post
peter13135
post
Post #4





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Mam rozumieć, że takie "aaa" lub "bbb" to jeden wiersz w bazie danych i to ma być wyświetlone jako pole w tabelce ?
Jeśli tak, to moja propozycja :

Najpierw zapisz sobie dane do tablicy, żeby osiągnąć taki efekt :
  1.  
  2.  
  3. $tablica[0] = 'aaa';
  4.  
  5. $tablica[1] = 'bbb';
  6.  
  7. //itd.


Musisz wiedzieć, ile chcesz mieć wierszy
  1.  
  2.  
  3. $numRows=3;


Oraz ile chcesz mieć kolumn. To musisz obliczyć na podstawie liczby wyników i liczby wierszy
  1.  
  2. $numCols = ceil($dlugosc_tablicy/$numRows);//długość talibcy to count($tablica_z_wynikami)


Następnie masz 2 zagnieżdżone pętle
  1.  
  2. for($i=0; $i<$numRows; $i++)//ta pętla wyświetla wiersze
  3.  
  4. {
  5.  
  6. for($j=0; $j<$numCols; $j++)//a ta pola w wierszach
  7.  
  8. {
  9.  
  10. //tutaj wyświetlasz swój element. Jego indeks w tablicy to $j*$numRows+$i
  11.  
  12. }
  13.  
  14. }





Ten post edytował peter13135 4.09.2012, 12:29:16
Go to the top of the page
+Quote Post
bahh
post
Post #5





Grupa: Zarejestrowani
Postów: 261
Pomógł: 2
Dołączył: 13.05.2012

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


Dzięki peter13135. Nie użyłem twojego sposobu ale bardzo mnie naprowadziłeś na rozwiązanie i zrobiłem to w podobny sposób (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

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: 10.10.2025 - 13:53