Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XML] Wyciągniecie danych z xml i zapis do pliku tekstowego
Forum PHP.pl > Forum > XML, AJAX > XML
emess24
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?
trueblue
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.
trueblue
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ść.
trueblue
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 "-".
trueblue
Wartości maksymalne masz znaleźć przed wyświetlaniem danych. Używasz ich przy wyświetlaniu, do określenia długości dopełnienia.
trueblue
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.
trueblue
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...
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-2021 Invision Power Services, Inc.