Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Układ w tabeli z danych z tablicy
roobik
post
Post #1





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Witam.
Mam tablicę, lecz jeśli chodzi już o wyświetlanie, to chciałbym ją poukładać "po swojemu".
Tablica wygląda mniej więcej tak:
(IMG:http://s28.postimg.org/5c9mhuid5/kodowanie.jpg)


Założenie (układ w tabeli) jest takie:
(IMG:http://s8.postimg.org/krpk6l0r5/wzorzec.jpg)

Jeśli chodzi o tablicę - to nie jest ona "na stałe" - co parę chwil (a dokładnie co ok. minutę) się zmienia-> zmniejsza z upływem czasu aż do godz. 23:59. Potem w dniu następnym jest znowu wielka i z uplywem czasu coraz mniejsza.

Wzorzec:
Dwa wiersze (TR), trzy kolumny (TD).

Tam gdzie 1
[2] => obrazek
[8] => inny obrazek
[14] => obrazek
[20] => jeszcze inny obrazek

Tam gdzie 2
[1] => 46543/2
[7] => 76924
[13] => 26101 MORCINEK
[19] => 69980/1

Tam gdzie 3 i 4
chwilowo nic

Tam gdzie 5
[4] => Lubliniec - Wrocław Główny
[10] => Poznań Główny - Wrocław Główny
[16] => Kielce - Wrocław Główny
[22] => Trzebnica - Wrocław Główny

Tam gdzie 6
[6] => 0 min
[12] => 0 min
[18] => 0 min
[24] => 0 min


OK. Z pewnością widzicie, że każdy następny element tablicy jest większy o 6
Nie wiem jak to ugryźć, ale myślę, że muszę zacząć od zliczenia ile jest wszystkich elementów, a potem zrobić tak, by w konkretnym miejscu w tabeli (np. tam gdzie 1) wyświetlać dane
(IMG:http://s15.postimg.org/u9tb2jthz/wzorzec2.jpg)

Jak to ugryźć, żeby w danym miejscu tabeli wyświetlać elementy zwiększające się o "6"?

Nie wiem, czy wystarczająco zrozumiale napisałem, bo sięteraz sam zamotałem (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
SzpaaQ
post
Post #2





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 22.11.2015

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


  1. $x = $twojatablica;
  2. $tablica = array_chunk($x,6);
  3. $echo = '<table>';
  4. foreach($tablica as $key){
  5. $echo .=
  6. '<tr>
  7. <td>'.$key[1].'</td>
  8. <td>'.$key[0].'</td>
  9. <td></td>
  10. </tr><tr>
  11. <td></td>
  12. <td>'.$key[3].'</td>
  13. <td>'.$key[5].'</td>
  14. </tr>';
  15. }
  16. $echo .= '</table>';
  17. echo $echo;

nie wiem czy dobrze rozumiem ale array_chunk dzieli na mniejsze tablice kazda po 6 elementów
Go to the top of the page
+Quote Post
roobik
post
Post #3





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


OK, prawie...
Bo w dwóch wierszach zamista trzech kolumn jest pięć kolumn...
Gdzieś w tym foreachu jakieś niepotrzebne dwa <td></td> się wplątały...

//edit
(IMG:http://s24.postimg.org/q82ud2yzl/tabelka.jpg)

Ten post edytował roobik 4.12.2015, 21:44:30
Go to the top of the page
+Quote Post
SzpaaQ
post
Post #4





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 22.11.2015

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


dziwne sprawdziłem i efekt taki:(IMG:http://oi66.tinypic.com/2drdzba.jpg)
przy kodzie
  1. <?
  2. $x = range('A','z');
  3. $tablica = array_chunk($x,6);
  4. $echo = '<table>';
  5. foreach($tablica as $key){
  6. $echo .=
  7. '<tr>
  8. <td>'.$key[1].'</td>
  9. <td>'.$key[0].'</td>
  10. <td></td>
  11. </tr><tr>
  12. <td></td>
  13. <td>'.$key[3].'</td>
  14. <td>'.$key[5].'</td>
  15. </tr>';
  16. }
  17. $echo .= '</table>';
  18. echo $echo;
  19. ?>

czyli tak jak powinno być pokaż jak to napisałeś (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
roobik
post
Post #5





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Mam dokładnie tak, jak Ty:
  1. ...
  2. foreach($tablica_ooo as $key){
  3. $echo .=
  4. '<tr>
  5. <td><b>key2 </b>'.$key[2].'</td>
  6. <td><b>key1 </b>'.$key[1].'</td>
  7. <td></td>
  8. </tr><tr>
  9. <td></td>
  10. <td><b>key5 </b>'.$key[5].'</td>
  11. <td><b>key6 </b>'.$key[6].'</td>
  12. </tr>';
  13. }


Ale może mam gdzieś tabelę niezamkniętą... Posprawdzam (trochę to zajmie)

//edit
OK. To co podałeś jest w porządku.
Jednak wracając do mojego pierwszego posta i ostatniego w tym poście "zdjęcia", byłoby coś takiego:
  1. $echo = '<table border=1>';
  2. foreach($tablica_ooo as $key){
  3.  
  4. $echo .=
  5. '<tr>
  6. <td><b>key2 </b>'.$key[2].'</td>
  7. <td><b>key1 </b>'.$key[1].'<br><b>key4 </b>'.$key[4].'</td>
  8. <td></td>
  9. </tr><tr>
  10. <td></td>
  11. <td><b>key5 </b>'.$key[5].'<br><b>key3 </b>'.$key[3].'</td>
  12. <td><b>key6 </b>'.$key[6].' minut</td>
  13. </tr>';
  14. }
  15. //echo 'KEY: '; print_r($tablica_ooo[0]);
  16. $echo .= '</table>';
  17. echo $echo;

Efekt, jak na załączonym obrazku:
(IMG:http://s22.postimg.org/hx2qsydi5/dane_poza_tabela.jpg)

Ten post edytował roobik 5.12.2015, 01:03:47
Go to the top of the page
+Quote Post
SzpaaQ
post
Post #6





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 22.11.2015

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


coś tam masz namieszane
  1. $echo .=
  2. '<tr>
  3. <td><b>key2</b> '.$key[1].'</td>
  4. <td><b>key1</b> '.$key[0].'<br><b>key4 </b>'.$key[3].'</td>
  5. <td></td>
  6. </tr><tr>
  7. <td></td>
  8. <td><b>key 5</b>'.$key[4].'<br><b>key3 </b>'.$key[2].'</td>
  9. <td><b>key 6</b>'.$key[5].'</td>
  10. </tr>
  11. ';

efekt
(IMG:http://i68.tinypic.com/kdl7jc.jpg)
Go to the top of the page
+Quote Post
roobik
post
Post #7





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Zrobiłem teraz tak, że ten plik jest zupełnie osobnym plikiem (wyłącznie do testów, żeby wiedzieć gdzie mam babola).

daję print_r($tablica_ooo);
i otrzymuję
Cytat
Array ( [0] => Array ( [0] => [1] => 56200/1
ROZEWIE [2] => [3] => 2015-12-05 [4] => Gdynia Główna - Wrocław Główny [5] => 05:07 ) [1] => Array ( [0] => 0 min [1] => 26200/1
KARKONOSZE [2] => [3] => 2015-12-05 [4] => Lublin - Szklarska Poręba Górna [5] => 05:15 ) [2] => Array ( [0] => 0 min [1] => 38100/1
BARBAKAN [2] => [3] => 2015-12-05 [4] => Przemyśl - Szczecin Główny [5] => 10:55 ) [3] => Array ( [0] => 0 min


Może tu jest błąd - chociaż ja go nie widzę...

//edit
nie wyświetla również $key[6] (ilość minut opóźnienia) - co jest...?

Tak to wygląda:
(IMG:http://s16.postimg.org/b3lkry5o1/og_lnie.jpg)

Ten post edytował roobik 5.12.2015, 02:04:26
Go to the top of the page
+Quote Post
SzpaaQ
post
Post #8





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 22.11.2015

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


pokaz print z głównej tablicy

zerowy rekord w tablicy jest i jest pusty na początku - przez to przenosi Ci key 6 jako key 0 do nastepnej
wywal z pierwszej wersji całej tablicy pierwszy rekord i zrób tak jak pisałem tj. key 1 bedzie odpowiadać $key[0], key2 to $key[1] itd

Ten post edytował SzpaaQ 5.12.2015, 02:11:53
Go to the top of the page
+Quote Post
roobik
post
Post #9





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


(IMG:http://s16.postimg.org/73nm76typ/og_lnie2.jpg)

odpowiednio:
  1. print_r($tablica_ooo);

  1. print_r($Wyniki);


//edit
jeszcze print_r($Wyniki[0][0]);
(IMG:http://s2.postimg.org/hhs6ta4fp/og_lnie3.jpg)

$Wyniki[0][0] - Przyjazdy
$Wyniki[0][1] - Odjazdy
strona źródłowa: http://infopasazer.intercity.pl/?p=station&id=60103

Ten post edytował roobik 5.12.2015, 02:20:09
Go to the top of the page
+Quote Post
SzpaaQ
post
Post #10





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 22.11.2015

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


ciężko będzie jak będziesz obrazkami sypał - oczy bolą od tego nieładu ;D ciekawi mnie jak kod źródłowy wygląda, ale poddaję się (IMG:style_emoticons/default/smile.gif)
powodzenia (IMG:style_emoticons/default/aarambo.gif)
Go to the top of the page
+Quote Post
roobik
post
Post #11





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


ok ... walczę dalej

Ale i tak dzięki za zainteresowanie (zwłaszcza o tej porze (IMG:style_emoticons/default/wink.gif) )

Pozdrawiam!

//edit
Walczę dalej. Muszę znaleźć babola - nie wyświetla mi opóźnienia.
Nie wiem czemu, mimo, że w tablicy są te dane...

Tablica:
(IMG:http://s16.postimg.org/5rs2ac6k1/tablica_odj.jpg)

Tabelka
(IMG:http://s8.postimg.org/4xg9o7qtd/tabela_odj.jpg)

Co jest...?

// edit 2
Jak daję tak, jak podał SzpaaQ:
  1. $echo .=
  2. '<tr>
  3. <td style="width: 20%;"><b>key2 </b>'.$keya[2].'</td>
  4. <td><b>key1 </b>'.$keya[1].'<br><b>key4 </b>'.$keya[4].'</td>
  5. <td style="width: 10%; font-family: Tahoma, Verdana, Arial; font-size: 10px; font-weight: bold;"></td>
  6. </tr><tr>
  7. <td></td>
  8. <td><b>key5 </b>'.$keya[5].'<br><b>key3 </b>'.$keya[3].'</td>
  9. <td><b>key6 </b>'.$keya[6].' </td>
  10. </tr>';
  11. }

to nie wyświetla mi minut, ale za to tabelka nie rozjeżdża się, czyli wygląda tak:
(IMG:http://s15.postimg.org/jd7k0rrif/key6.jpg)

Ale jeśli w ostatnim wierszu, czyli:
  1. <td><b>key6 </b>'.$keya[6].' </td>

zmienię na
  1. <td><b>key6 </b>'.$keya[0].' </td>

To otrzymuję (prawie) to co chciałem, czyli:
(IMG:http://s8.postimg.org/ekyitfybl/key0.jpg)

Problemy są dwa:
- jak się pozbyć tej tabelki po prawej stronie
- nie wyświetla się w pierwszym wierszu w tabelce opóźnienie

Ten post edytował roobik 5.12.2015, 16:17:39
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: 23.08.2025 - 06:22