![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 4.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabelę gdzie chciałbym aby na stałe było 21 wierszy (taki wzór), ale nie zawsze wszystkie będą wypełnione danymi - w zależności od wpisu w bazie.
Układ wygląda tak:
Chodzi o to żeby liczba porządkowa była od 1 do 21 na stałe, tylko jak to wykonać w kodzie php? |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Przed pętlą $i = 1, a w pętli $i++. Kombinuj. Może być nawet bez dodatkowej zmiennej o ile klucze tablicy są u Ciebie po kolei. Wówczas kombinuj z foreach($list as $i => $item).
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 4.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuję tak zrobić.
Witam, nie bardzo sobie radzę z pętlą. Dodałem przed foreach:
Za foreach:
I nie wiem co dalej. Musi być zawsze wyświetlonych 21 wierszy i w L.p kolejno 1,2,3....21. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
echo "<td>1.</td>";
...... No ale użyj te $lp.... po coś chyba kazano ci je wstawić.... echo "<td>$lp.</td>"; |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 4.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
OK. Tak zrobiłem. Zmieniłem $lp = 0. Mam już L.p od 1 i po kolei, ale numeruje mi do ilości rekordów w bazie. A powinno do 21 bez względu ile jest rekorów (a w bazie i tak nie będzie więcej niż 21).
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to skoro po pętli, masz liczbę mniejszą od 21 to przy pomocy FOR dogeneruj pozostałe liczby/wiersze
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 4.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Teraz to się sam zapętliłem. Dodaje mi po 21 wierszy wszystkich elementów z bazy:
|
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
FOR ma być po FOREACH (a nie w FOREACH) i to dopiero wtedy, gdy FOREACH wygenerował mniej niż 21.
|
|
|
![]() ![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 4.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wyrzuciłem za foreach a i tak się sypie wszystko...
|
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To może pokaż nam kod po zmianach? To może napisz na czym polega "sypanie się"? Czy osobie, która jest na forum od jakiegoś czasu, trzeba takie rzeczy jeszcze pisać?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 4.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Sorki:
syntac error |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat syntac error (IMG:style_emoticons/default/facepalmxd.gif) Jak dostajesz błąd, to należy go podać dokładnie, włącznie z linijką, której dotyczy.... Ogarnij się chłopie troche... $item = array_key_exists ($i, $list) $list[i]; Co niby ta linijka ma robić? |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 4.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zacząłem cos kombinować, ale bez efektu.
Syntax error, unexpected T_VARIABLE - on line 138 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 88 Pomógł: 1 Dołączył: 25.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dobrze widze? W kodzie który podałeś jest 40 linijek kodu, a nie 138
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 4.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Teraz po zmianach mam 21 wierszy, ale pusta tabelę:
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 19 Dołączył: 13.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
ehh, straszny burdel masz w tym kodzie i sam sie gubisz..
Zrobiłem na foreach, z sentymentu.. |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 4.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat echo "<td>".$item->nazwa."</td>";// skad? jak gdzie? i dziwne ze puste... echo "<td>".$item->JIM."</td>"; // ? nazwa i JIM to pola w tabeli z której pobierane są dane. Dokonałem zmian jak w poście poniżej, ale mam teraz tyle wierszy ile jest w bazie, a nie 21. Foreach raczej tu nie zadziała. Jak to zrobić za pomocą pętli for? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 05:21 |