Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Podzielenie tabeli.
Forum PHP.pl > Forum > Przedszkole
szczalpi
Witam.
Mam maly problem. Otoz to. W bazie danych mam 200 wpisow, ale chcialbym aby wyswietlaly w dwoch lub trzech rzedach. W jaki sposob nalezy to zrobic? Prosze o pomoc.
Pozdrawiam.
ewaslawek5
Za malo dałeś danych, w jakiej bazie - podaj jej budowę i napisz konkretnie co byś chciał uzyskać ?
szczalpi
Otoz to w bazie danych "mysql" wpisanych mam okolo 200 linkow. Chcialbym, aby one zostaly wyswietlone w rzedach za pomoca <td>jeden rzad</td><td>drugi rzad</td>.
Zapytanie to wyswietlania w jednym rzedzie potrafie zrobic. Tylko problem jest, aby wyswieltic je w dwoch rzedach podzielone na rowno.
thek
Wysławiaj się dokładniej, bo piszesz o rzędach a z postu ewidentnie wynika, że chcesz robić X kolumn z wynikami... w schemacie:
| wynik 1 | wynik2 | wynik3 |
| wynik 4 | wynik5 | wynik6 |
| wynik 7 | wynik8 | wynik9 |

Przepraszam. Ja wiem że to dział Przedszkole, ale czy to takie trudne pomyśleć i wpaść na pomysł by robić modulo 2 lub modulo 3 (czy ile tam chcesz kolumn z linkami) na numerze rekordu, a potem sprawdzić ile ewentualnie dodatkowych pustych komórek wstawić do ostatniego wiersza? Albo jeszcze banalniej wywal tabele, policz ile masz rekordów, podziel przez liczbę kolumn zaokrągliwszy w górę, walnij do DIVów i każdemu DIVowi nadaj szerokość 1/liczba_kolumn. Nie będę pisywał kodu bo to już chyba sam potrafisz zrobić.
Jak widzisz, ja podałem Ci z głowy 2 sposoby. A można po chwili myślenia pewnie i więcej wymyślić smile.gif
Aha... przypadek z Div da Ci w rezultacie:

| wynik 1 | wynik4 | wynik7 |
| wynik 2 | wynik5 | wynik8 |
| wynik 3 | wynik6 | wynik9 |
szczalpi
Wiem, ze tak mozna zrobic. Moze nie dokonca dobrze napisalem. Chodzi mi glownie kod php jaki trzeba tam wstawic. Moj kod jest taki
  1. $sql="SELECT miasto FROM kamery ORDER BY kamery.miasto ASC";
  2. <table>
  3. <?
  4. $result=mysql_query($sql);
  5.  
  6. while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
  7.  
  8. {
  9.  
  10.  
  11.  
  12.  
  13. $nazwa = $row['miasto'];
  14.  
  15. echo ('<td class=wer><a href="'.$nazwa.',plan_miasta.html">'.$nazwa.'</a></td>');
  16.  
  17. ?>
  18.  
  19. </tr>
  20.  
  21. </table>
  22.  
  23.  
  24.  
  25. <?
  26.  
  27. }
  28.  
  29.  
  30.  
  31. ################################################################################
  32.  
  33. ?>
Dzieki temu wszystkie wpisy sa wyswietlane w jednej kolumnie. A chcialbym, aby w dwoch. Jak to mozna zrobic?
thek
No przecież Ci napisałem smile.gif Swoją droga kod jaki podałeś to prawie jak "zły dotyk" dla webmastera winksmiley.jpg Choćby dlatego, że ma błąd już w składni html (nigdzie nawet wiersza TR nie otwierasz a co iteracje zamykasz go włącznie z tabelą, ale zrzucam to na karb złego przeklejenia ).
Jak już pisałem... zrób sobie w pętli warunek sprawdzający ile wynosi numer rekordu modulo liczba_kolumn i w zależności od wyniku odpowiednio taguj uzyskany wynik.
Lepiej jednak zachowaj standardy i zamiast wynikowego kodu:
  1. <tr><td><a href="">link</a></td><td><a href="">link</a></td><td><a href="">link</a></td></tr>
  2. <tr><td><a href="">link</a></td><td><a href="">link</a></td><td><a href="">link</a></td></tr>
  3. <tr><td><a href="">link</a></td><td><a href="">link</a></td><td><a href="">link</a></td></tr>

Zrób
  1. <div id="columned_container">
  2. <div>
  3. <a href="">link</a><a href="">link</a><a href="">link</a>
  4. </div>
  5. <div>
  6. <a href="">link</a><a href="">link</a><a href="">link</a>
  7. </div>
  8. <div>
  9. <a href="">link</a><a href="">link</a><a href="">link</a>
  10. </div>
  11. <span style="display:block; clear:both"></span>
  12. </div>

Wierz mi, że odpowiedni styl dla:
div#columned_container
div#columned_container div {float:left; width:}
div#columned_container div a {display:block;}
I masz wynik podany ładnie w kolumnach. Tabelki są BE tongue.gif

EDIT: Tylko mi nie mów, że nie potrafisz wymyślić jak masz modulo zastosować w wypadku layoutu na tabelach, bo to tylko sekundy użycia rozumu. Z divami zaś jeszcze mniej czasu mózgu to zajmie. Popatrz na kod wynikowy w HTML dokładnie i sam zauważysz jak masz napisać warunek IF.
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.