bd2 11XML, UEK, Projektowanie serwisów internetowych


Zapis danych pobranych z bazy danych w pliku w formacie dokumentu XML

Opis zadania

Należy napisać funkcję, która będzie zapisywała wynik dowolnego zapytania SQL-owego w pliku w formacie XML.

Następnie należy sprawdzić poprawność działania funkcji wyświetlając zawartość pliku w oknie przeglądarki internetowej.

Pomocne informacje

1. Składnia dokumentu XML

Wynikiem zapytania napisanego w języku SQL jest tabela. Traktując każdy wiersz takiej tabeli jako węzeł dokumentu XML-owego, a poszczególne wartości jako elementy tego węzła, można napisać funkcję, która zapisze wynik zapytania w postaci poprawnego dokumentu XML. Należy pamiętać, że każdy znacznik musi być zamknięty oraz że dokument XML musi mieć znacznik główny.

Przykład:

Zapytanie zwróciło następującą tabelę:

IdPracownika

Nazwisko

27

Nowak

34

Kowalski

Poprawnym plikiem XML zawierającym te dane jest:

<Pracownicy>

<P1>

<IdPracownika>27</IdPracownika>

<Nazwisko>Nowak</Nazwisko>

</P1>

<P2>

<IdPracownika>34</IdPracownika>

<Nazwisko>Kowalski</Nazwisko>

</P2>

</Pracownicy>

Nazwy pól oraz wartości można pobrać za pośrednictwem zmiennej zawierającej tabelę będącą wynikiem zapytania za pomocą funkcji pg_result (wartość) oraz pg_field_name (nazwy pól), których składnia jest następująca (funkcje te zostały opisane w pliku pomocy do zajęć dotyczących wykorzystania PHP do operowania na bazie danych):

pg_result($r, numer_wiersza, numer_kolumny)

pg_field_name($r, nr_kolumny)

gdzie:

$r - nazwa kursora zawierającego wynik zapytania wybierającego

2. Funkcje PHP do operowania na plikach

Zapis do pliku jest możliwy, gdy plik jest umieszczony w katalogu mającym uprawnienia co najmniej 703.

Wybrane funkcje wykorzystywane do operacji na plikach dyskowych:

- otwarcie pliku do zapisu (jeśli plik nie istnieje, jest tworzony):

$f = fopen(”katalog/plik”, ”w”)

Wynik działania funkcji należy przypisać zmiennej plikowej, za pośrednictwem której w dalszej części funkcji następuje odwołanie do pliku.

- zamknięcie pliku:

fclose($f)

Jako parametr funkcji podaje się nazwę zmiennej plikowej. Po zakończeniu przetwarzania plik musi zostać zamknięty.

- zapis na koniec pliku:

fwrite($f, ”tekst”)

gdzie $f to zmienna plikowa związana z plikiem, w którym zapisywane są dane, a ”tekst” to wyrażenie, które ma zostać zapisane w pliku.

- aby plik był bardziej czytelny i uporządkowany można używać znaczników:

\n - znacznik końca wiersza

\t - znacznik tabulatora

Przykład:

fwrite($f, ”abc\n\txyz”);

Do pliku związanego ze zmienną plikową $f zapisany zostanie tekst abc, następnie wstawiony zostanie znak końca wiersza. W nowym wierszu wstawiony będzie tabulator i tekst xyz. Jeśli tak utworzony plik zostanie wyświetlony (np. w oknie przeglądarki internetowej), to pojawi się w następującej postaci:

abc

xyz

Przykładowy algorytm rozwiązania zadania:

  1. W katalogu public_html utwórz katalog o nazwie XML i nadaj mu uprawnienia 703
    (rwx----wx)

  2. W katalogu public_html utwórz program w PHP o nazwie sql2xml.php, który:

  1. Aby uruchomić napisany program z poziomu katalogu public_html programie putty wydaj polecenie:

php sql2xml.php

Jeśli program działa poprawnie, w katalogu XML powinien zostać utworzony plik zawierający wynik zapytania zapisany w formacie XML.

  1. Jeśli zadanie zostanie wykonane poprawnie, po wpisaniu w przeglądarce adresu:

ie.uek.krakow.pl/~login/XML/plik.xml

na ekranie powinien pojawić się plik zawierający dane będące wynikiem zapytania zapisane w formacie XML.



Wyszukiwarka

Podobne podstrony:
bd2 08wu, UEK, Projektowanie serwisów internetowych
bd2 13ankieta, UEK, Projektowanie serwisów internetowych
bd2 08wu help, UEK, Projektowanie serwisów internetowych
bd2 09php help, UEK, Projektowanie serwisów internetowych
bd2 09php zadanie, UEK, Projektowanie serwisów internetowych
bd2 04form help, UEK, Projektowanie serwisów internetowych
bd2 02html help, UEK, Projektowanie serwisów internetowych
bd2 08wu zadanie, UEK, Projektowanie serwisów internetowych
Zaawansowane techniki projektowania serwisów Internetowych, 2431, Prace, Informatyka
Projektowanie funkcjonalnych serwisow internetowych
Projektowanie funkcjonalnych serwisow internetowych pfunki
Projektowanie funkcjonalnych serwisow internetowych
Projektowanie funkcjonalnych serwisow internetowych pfunki
Projektowanie funkcjonalnych serwisow internetowych pfunki
Projektowanie funkcjonalnych serwisów internetowych
Projektowanie funkcjonalnych serwisow internetowych pfunki
Projektowanie funkcjonalnych serwisow internetowych
Projektowanie Funkcjonalnych Serwisów Internetowych (Helion)

więcej podobnych podstron