Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> system newsow oparty o pliki xml
rvk
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 21.06.2008
Skąd: Polska

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


Witam

zamierzam w ramach treningu (oop) napisać system newsów oparty na xml (pisze w tym dziale bo nie chodzi mi o oop akurat).
Jak dorobić komentarze do newsa zapisanego w plik xml/txt, zawsze pracowałem na mysql, i teraz są schody

no i czy zapisywanie newsów w formie

  1. <newsy>
  2. <news>
  3. <title>news nr 1</title>
  4. <body>tresc </body>
  5. </news>
  6. <news>
  7. <title>news nr 2</title>
  8. <body>tresc </body>
  9. </news>
  10. <news>
  11. <title>news nr 3</title>
  12. <body>tresc </body>
  13. </news>
  14. itd.
  15. </newsy>


bedzie dobrym rozwiazaniem ?
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Ja bym jeszcze dodał id newsów, czas i datę - to raz.

Komentarze:

  1.  
  2. <komentarze>
  3. <komentarz newsid="1" czas="13123123" autor="aaa">Tresc</komentarz>
  4. </komentarze>
  5.  


I coś takiego wystarczy.

Gdy ma być tego więcej to rozbij na pliki.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
rvk
post
Post #3





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 21.06.2008
Skąd: Polska

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


bardziej chodzi mi o to jak to połączyć, jak to obrać w php ?
kiedy dzielic pliki ?


Ten post edytował rvk 26.07.2010, 18:41:07
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(rvk @ 26.07.2010, 18:40:19 ) *
bardziej chodzi mi o to jak to połączyć, jak to obrać w php ?

Parsujesz za pomocą: simplexml wrzucasz newsy do tablicy i tak samo z komentarzami.
Cytat(rvk @ 26.07.2010, 18:40:19 ) *
kiedy dzielic pliki ?

Gdy np. komentarzy będzie bardzo dużo, wtedy polecałbym opcję, że jeden plik z komentarzem przypisany jest do jednego newsa.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
rvk
post
Post #5





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 21.06.2008
Skąd: Polska

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


do tablicy wrzucac po prostu ?

  1. foreach($xml as $value)
  2. {
  3. $array['id'] = $xml->news->id;
  4. $array['title'] = $xml->news->title
  5. itd.
  6. }


jeden plik z komentarzami do kazdego newsa, a czy newsy też dzielic, chyba nie?

Ten post edytował rvk 26.07.2010, 19:00:01
Go to the top of the page
+Quote Post
Fifi209
post
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(rvk @ 26.07.2010, 18:59:18 ) *
do tablicy wrzucac po prostu ?

  1. foreach($xml as $value)
  2. {
  3. $array['id'] = $xml->news->id;
  4. $array['title'] = $xml->news->title
  5. itd.
  6. }


jeden plik z komentarzami do kazdego newsa, a czy newsy też dzielic, chyba nie?

Raczej nie będą miały takich długich treści i nie będzie ich tak wiele jak komentarzy.

Co do kodu polecam rzutowanie:
ogólnie zrób tak:
  1. foreach ($xml as $value) {
  2. $array[(int)$value['id']] = (string) $value->tresc;
  3. }


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
muk4
post
Post #7





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


Zauważ, że jeden news może wywołać flame war więc komentarzy będzie dużo a newsów nie smile.gif

@DOWN
Lepiej dać id kategorii do newsa.

Ten post edytował muk4 26.07.2010, 19:12:42
Go to the top of the page
+Quote Post
rvk
post
Post #8





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 21.06.2008
Skąd: Polska

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


co do tych newsów to chodziło mi bardziej czy dzielić je na ktegorie po plikach.
Go to the top of the page
+Quote Post
everth
post
Post #9





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Jeśli chcesz to obrać w PHP to zapoznaj się z szablonami XSLT. Znakomicie ułatwiają przekształcanie jednego xml w drugi (choćby HTML). W PHP masz odpowiednie klasy do tego (SimpleXML, DOMDocument, XSLTProcessor).


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
Crozin
post
Post #10





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


XML to format umożliwiający przechowywanie hierarchicznych danych więc w ogóle nie rozumiem co to za jakieś komentarz newsid="123".

  1. <archive>
  2. <news>
  3. <title>Some title</title>
  4. <content>Some content</content>
  5.  
  6. <comments>
  7. <comment>
  8. <content>Blah blah blah</content>
  9. </comment>
  10. <comment>
  11. <content>Blah blah blah #2</content>
  12. </comment>
  13. </comments>
  14. </news>
  15. </archive>
Go to the top of the page
+Quote Post
rvk
post
Post #11





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 21.06.2008
Skąd: Polska

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


jak lepiej zrobic
  1. <newsy>
  2. <news id="1">
  3. itd.
  4. </news>
  5. </newsy>


czy dodac pole <id>1</id> ?

Go to the top of the page
+Quote Post
everth
post
Post #12





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Jak wolisz. Co jest atrybutem/węzłem nie jest sformalizowane. Ładniej wygląda jako węzeł (pole).


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
Crozin
post
Post #13





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


id/data dodania itp. - to są atrybuty dla aktualności. Co innego treść.
Go to the top of the page
+Quote Post
rvk
post
Post #14





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 21.06.2008
Skąd: Polska

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


a czy nie bedzie później problemu ze zrobieniem RSS
np. jak mamy newsy
  1. <archive>
  2. <news>
  3. <title>Some title</title>
  4. <content>Some content</content>
  5.  
  6. <comments>
  7. <comment>
  8. <content>Blah blah blah</content>
  9. </comment>
  10. <comment>
  11. <content>Blah blah blah #2</content>
  12. </comment>
  13. </comments>
  14. </news>
  15. </archive>


a rss wyglada tak
  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2. <rss version="2.0">
  3.  
  4. <channel>
  5. <title>W3Schools Home Page</title>
  6. <link>http://www.w3schools.com</link>
  7. <description>Free web building tutorials</description>
  8. <item>
  9. <title>RSS Tutorial</title>
  10. <link>http://www.w3schools.com/rss</link>
  11. <description>New RSS tutorial on W3Schools</description>
  12. </item>
  13. <item>
  14. <title>XML Tutorial</title>
  15. <link>http://www.w3schools.com/xml</link>
  16. <description>New XML tutorial on W3Schools</description>
  17. </item>
  18. </channel>
  19.  
  20. </rss>
  21.  


to jest jakis sposob aby to polazyc ?
Go to the top of the page
+Quote Post
Fifi209
post
Post #15





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Crozin @ 26.07.2010, 19:14:51 ) *
XML to format umożliwiający przechowywanie hierarchicznych danych więc w ogóle nie rozumiem co to za jakieś komentarz newsid="123".

  1. <archive>
  2. <news>
  3. <title>Some title</title>
  4. <content>Some content</content>
  5.  
  6. <comments>
  7. <comment>
  8. <content>Blah blah blah</content>
  9. </comment>
  10. <comment>
  11. <content>Blah blah blah #2</content>
  12. </comment>
  13. </comments>
  14. </news>
  15. </archive>


Jeżeli będziesz miał po 100 komentarzy do newsa to powodzenia. ;]


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
everth
post
Post #16





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Pierwsza znaleziona klasa. Na tamtej stronce masz ich więcej.

Cytat(fifi209 @ 26.07.2010, 20:36:56 ) *
Jeżeli będziesz miał po 100 komentarzy do newsa to powodzenia. ;]

Ale co to za problem nawigować po XMLu, jak się ma do dyspozycji Xpath i XQuery?

Ten post edytował everth 26.07.2010, 19:39:54


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
Crozin
post
Post #17





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
Jeżeli będziesz miał po 100 komentarzy do newsa to powodzenia. ;]
To, że XML jest tutaj złym rozwiązaniem to już inna bajka. Z narzędzi korzysta się tak jak się powinno i dobiera się właściwie do różnych zastosowań.
Cytat
Ale co to za problem nawigować po XMLu, jak się ma do dyspozycji Xpath i XQuery?
Gdy plik zacząłby nabierać dziesiątek megabajtów danych pojawiłby się problemy z ilością pamięci jak i czasem parsowania samego pliku. Banalne do ominięcia przechowując sparsowany XML bezpośrednio w pamięci.

Ten post edytował Crozin 26.07.2010, 20:03:49
Go to the top of the page
+Quote Post
everth
post
Post #18





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Nie myślałem że on chce użyć tych danych jako coś w rodzaju bazy danych. Ech, trochę mnie gubi moje przyzwyczajenie do pracy według schematu DB -> XML -> XSLT -> HTML. Zawsze spokojnie może zmapować to drzewo xml na tabelę w Sql


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
rvk
post
Post #19





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 21.06.2008
Skąd: Polska

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


no cóż chciałem poćwiczyć oop i napisac klase do zarządzania plikami (cw. operacje na plikach i przy okazji xml) a jako płaską baze miec cos jakby xml'a
ale zrobie to jednak chyba z mysql, bo zacześli taką pogawędke...

ale nie bardzo wiem jak ma wygladac klasa mysql...

Ten post edytował rvk 26.07.2010, 20:58:35
Go to the top of the page
+Quote Post
Crozin
post
Post #20





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


To Ci się trochę pomyliło: XML to hierarchiczna baza danych, MySQL to płaska baza danych.

Cytat
ale nie bardzo wiem jak ma wygladac klasa mysql...
PDO.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Aktualny czas: 20.08.2025 - 09:18