Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][XML][PHP]Przetłumaczenie pseudo kodu php na kod źródłowy
Forum PHP.pl > Forum > Przedszkole
pawlus74
Witam, zostałem poproszony o stworzenie wirtualnej bazy danych pojęć historycznych. Jako że jestem zupełnie nowy w swiecie php ktoś poradził mi jak to zrobić (poniżej), nie rozumiem jednak tych pseudo kodów, jak wykonać te ostatnie kroki - przez pierwsze jakoś przebrnałem. Zaczynam się uczyć, ale idzie mi powoli. Nie jest to ani praca zaliczeniowa, ani zarobkowa więc myslę że mi pomożecie.

Hmm, podstronę dla każdego wpisu? Zginiesz marnie śmiercią tragiczną
Jak już to wpisy przechowywać np w plikach xml (przykłądowo)
  1. <rekord>
  2. <tytuł>Amadeusz Mozart</tytul>
  3. <kategoria> k </kategoria>
  4. <rok> rrrr </rok>
  5. <opis> zzzzzzzzz </opis>
  6. </rekord>
  7. <rekord>
  8. <tytuł>Sasha Grey</tytul>
  9. <kategoria> ... </kategoria>
  10. <rok> ... </rok>
  11. <opis> ... </opis>
  12. </rekord>

i strona po przejściu na dane pojęcie generowana była by automatycznie i uzupełniana tymi danymi z tak pogrupowanych wpisów.
Jedyne co musisz znać to podstawy HTML, do tego np podstawy PHP, a wczytywanie danych z plików xml znajdziesz w google bez problemu

W zależności ile tych różnych pojęć będziesz miał, możesz np stworzyć tylko 1 plik z wszystkimi, albo porobić pliki tak:

a.xml
b.xml
c.xml
...

Gdzie każdy z tych plików przechowywać będzie rekordy zaczynające się od takiej litery

Takie rozwiązanie jest o tyle przyjemne, że masz mniej plików Html do ogarnięcia :

index.php - wyswietlasz litery do kliknięcia
podkategoria.php - strona na którą przechodzisz po kliknięciu w jakąś literę w index.php*
opis.php - strona która się wypełnia już po kliknięciu w dany rekord w podkategorii

gdzie index.php jest prosty, i wszystko co musi robić, to przechodzić do strony podkategoria.php, na przykład tak:

<a href="podkategoria.php?litera=A"> A </a>
<a href="podkategoria.php?litera=B"> B </a>
<a href="podkategoria.php?litera=C"> C </a>
...

natomiast w pliku podkategoria (pseudokod):
  1. jaka_litera = $_GET['litera']
  2. otwórz plik jaka_litera.xml
  3. wczytaj wszystkie "tytuł" z tego pliku
  4. wygeneruj strone z wpisami:
  5. <a href="opis.php?wpis="tytuł"> "tytuł" </a>


tu po przejściu przez taki link w opis.php robił byś podobnie, z tym, że zaczytywany byłby już pełny "rekord" a nie tylko kolejne "tytuł"
  1. wpis = $_GET['wpis']
  2. otwórz plik jaka_litera.xml
  3. poszukaj "wpis" (czyli przekazany tytuł z poprzedniej podstrony)
  4. wczytaj pełny rekord/wygeneruj stronę
Szymciosek
Stosuj znaczniki php, na tym forum takie istnieją.
pawlus74
Ktoś potrafi mi pomóc? Będę bardzo wdzięczny..
Gość
Nie wiem dlaczego ta "wirtualna baza danych" ma być oparta na plikach XML a nie jakieś bazie danych, ale skoro już tak chcesz mieć, to pewnie będziesz musiał skorzystać z jakiś funkcji do parsowania XML, proponuję wykorzystać SimpleXML

Zobacz podstawowe przykłady użycia, w szczególności będą Ci potrzebne:
- simplexml_load_file
- SimpleXMLElement::xpath

Przy okazji mając taką strukturę plików XML jak podałeś nie możesz mieć dwóch takich samych tytułów, może zastanów się nad dodaniem znacznika z identyfikatorem skoro jak rozumiem te pliki mają być tworzone i tak ręcznie?
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-2025 Invision Power Services, Inc.