![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 27.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Potrzebuje wyciągnąć dane z pliku xml i zapisać w formacie tekstowym. Dane które wyciągam chciałbym zapisać w formacie tabelki, ale z racji tego że plikiem wynikowym będą pliki tekstowe nie wchodzi w grę html. Wiem jak dostać się do pliku xml i wyciągnąć z niego dane. Gorzej z zapisem w formie tabelki. Stworzyłem tablicę dwuwymiarową w której podałem nagłówki kolumn oraz dane wyciągnięte z xml za pomocą simplexml. Następnie foreach wylistowłem to. W jaki sposób zrobić, aby szerokość kolumn były dopasowane do zawartości? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Znaleźć maksymalne szerokości każdej kolumny (zakładam, że nie chcesz zawijania wierszy) i każdą wartość kolumny dopełniać spacjami do tejże szerokości. Dodatkowo przy wyświetlaniu używać czcionki monospace.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Musisz przejść każdy wiersz danych i zapisywać w odrębnej tablicy długości wartości kolumn (pod warunkiem, że aktualna wartość jest większa od poprzednio zapisanej).
Podobnie jak szukanie wartości maksymalnej w jednowymiarowej tablicy, ale tu wartości maksymalne są odrębnej dla każdej kolumny (musisz mieć więc tablicę na wartości maksymalne). Zamiast 10-tki, musisz dopełnić X, gdzie X=maksimum_kolumny-aktualna_długość. -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dla każdej kolumny (przeglądając wszystkie wiersze) musisz znaleźć maksymalne długości. Link podałem wyżej.
Wyświetlając dane porównujesz długość aktualnej wartości z wartością maksymalną dla danej kolumny. Różnicą (X) dopełniasz ciąg. W podanym przykładzie dopełniasz zawsze 17 razy "-". -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Wartości maksymalne masz znaleźć przed wyświetlaniem danych. Używasz ich przy wyświetlaniu, do określenia długości dopełnienia.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
To http://stackoverflow.com/questions/3602673...ional-array-php musisz zrobić przed wyświetleniem danych.
Korzystasz z tych informacji przy wyświetlaniu danych (w str_pad). Jeśli obecnie masz kod wyświetlający dane, ale bez wyrównania, to jedyną różnicą będzie dodanie właśnie str_pad. -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Najpierw szukasz maksimum, a potem (poza tym skryptem, na zewnątrz) pętla/pętle wyświetlając/e dane.
Przykład: 1.1: abc 1.2: cdef 1.3: ghi 2.1: jklmnop 2.2: r 2.3: st Tablica maksimum: 1: 7 2: 4 3: 3 Wyświetlanie i dopełnienia: 1.1: 7-3=4 1.2: 4-4=0 1.3: 3-3=0 2.1: 7-7=0 2.2: 4-1=3 2.3: 3-2=1 Dopiero teraz zauważyłem w jakim ciekawym temacie uczestniczyłem... Ten post edytował trueblue 28.03.2017, 10:35:18 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.05.2025 - 10:25 |