Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][XML][PHP]Przetłumaczenie pseudo kodu php na kod źródłowy
pawlus74
post 4.10.2012, 18:39:13
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 4.10.2012

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


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ę


Ten post edytował pawlus74 4.10.2012, 18:53:40
Go to the top of the page
+Quote Post
Szymciosek
post 4.10.2012, 18:40:22
Post #2





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Stosuj znaczniki php, na tym forum takie istnieją.
Go to the top of the page
+Quote Post
pawlus74
post 4.10.2012, 18:52:02
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 4.10.2012

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


Ktoś potrafi mi pomóc? Będę bardzo wdzięczny..
Go to the top of the page
+Quote Post
-Gość-
post 4.10.2012, 20:55:36
Post #4





Goście







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?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:03