Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL][XML] Pomoc w skrypcie ?, jak dokonać takiej zmiany ?
FliSs_tCv
post 25.01.2008, 23:05:52
Post #1





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


Witam;) mam pytanie na które niestety nie mogę znaleźć odpowiedzi:( mam odtwarzacz muzyczny we fleshu i czyta on dane z pliku XML czy da rade jakoś wykonać skrypt który wyciągał by dane z bazy MySQL questionmark.gif w razie niejasności pytania proszę o napisanie na pw aby nie zaśmiecać chyba że wiadomo o co chodzi to bardzo proszę o pomoc smile.gif

P.S

Chyba że zna ktoś inne rozwiązanie z odtwarzaczem muzycznym we fleshu winksmiley.jpg pozdr

Ten post edytował FliSs_tCv 26.01.2008, 13:54:40


--------------------
Go to the top of the page
+Quote Post
sobstel
post 25.01.2008, 23:11:54
Post #2





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


Zwyczajnie poprzez PHP odczytaj dane (przez pdo" title="Zobacz w manualu PHP" target="_manual czy też mysql" title="Zobacz w manualu PHP" target="_manual, mysqli" title="Zobacz w manualu PHP" target="_manual dla mysqla) i wyświetl w pożądanym formacie XML. Jeśli trafisz na jakieś problem w tworzeniu takiego skyptu, wtedy wróć tutaj. Gotowców raczej się tu nie daje.

Ten post edytował sopel 25.01.2008, 23:12:11


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
MMX3
post 26.01.2008, 00:21:30
Post #3





Grupa: Zarejestrowani
Postów: 155
Pomógł: 9
Dołączył: 26.01.2004
Skąd: Poznań

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


DOM

Tu poczytaj jak się tworzy xml za pomocą obiektu DOM w php.


--------------------
Go to the top of the page
+Quote Post
sobstel
post 26.01.2008, 11:13:47
Post #4





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


Cytat(MMX3 @ 26.01.2008, 00:21:30 ) *
DOM Tu poczytaj jak się tworzy xml za pomocą obiektu DOM w php.


Czasami wystarczy SimpleXML" title="Zobacz w manualu PHP" target="_manual


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
FliSs_tCv
post 26.01.2008, 13:29:25
Post #5





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


Witajcie poradziłem sobie;), wstępnie tworzy mi plik xml gdzie wypisywane są w nim dane z bazy tylko muszę go jeszcze przerobić bo wypisuje mi dane w ten sposób:

  1. <?xml version="1.0" encoding="ISO-8859-2"?>
  2. <lista>
  3.  <nagranie>
  4.    <file>nagranie.mp3</file>
  5.  </nagranie>
  6. </lista>


a potrzebuje aby zapisywane było to tak:

  1. <?xml version="1.0" encoding="ISO-8859-2"?>
  2. <lista>
  3.    <file src="nagranie.mp3" />
  4. </lista>


------ EDIT --------

Poradziłem sobie prawie myślę że poradze sobie zreszta dzięki za pomoc smile.gif

Ten post edytował FliSs_tCv 26.01.2008, 14:24:17


--------------------
Go to the top of the page
+Quote Post
Kicok
post 26.01.2008, 14:22:54
Post #6





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


To powinno rozjaśnic n ieco sprawę:

  1. <?php
  2.  
  3. $xml = new DomDocument( '1.0', 'ISO-8859-2' );
  4.  
  5.  
  6. // Tworzymy ngłówny element
  7. $node = $xml->appendChild( $xml->createElement( 'node' ) );
  8.  
  9. // Tworzymy element-dziecko
  10. $subnode = $node->appendChild( $xml->createElement( 'subnode' ) );
  11.  
  12. // Przypisujemy elementowi atrybut: attribute="value"
  13. $subnode->setAttribute( 'attribute', 'value' );
  14.  
  15.  
  16.  
  17. echo htmlspecialchars( $xml->saveXML() );
  18.  
  19. ?>


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
FliSs_tCv
post 26.01.2008, 14:42:22
Post #7





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


Ok jednak nie wiem jak to zrobić ;/ kod który już wyświetla mi taki wynik mam:
  1. <?xml version="1.0" encoding="ISO-8859-2"?>
  2. <playlista>
  3.   <file>nagranie.mp3</file>
  4. </playlista>

Nadal jednak nie wiem co muszę zrobić aby ten znacznik file wyglądał następująco:
  1. <file src="nagranie.mp3" />


oto kod php:
  1. <?php
  2. if (mysql_connect($sql_serwer, $sql_login, $sql_haslo)
  3. and mysql_select_db($sql_baza)) {
  4. $wynik = mysql_query("SELECT * FROM odtwarzacz");
  5. }
  6.  
  7. $xml = new DomDocument('1.0', 'ISO-8859-2');
  8. $tabela = $xml->appendChild($xml->createElement('playlist'));
  9.  
  10. while($wynik and $dane = mysql_fetch_assoc($wynik)) {
  11.  
  12. foreach ($dane as $pole=>$wartosc) {
  13. $element = $tabela->appendChild($xml->createElement($pole));
  14. $element->appendChild($xml->createTextNode($wartosc));
  15. }
  16. }
  17.  
  18. $xml->formatOutput = true;
  19. $xml->save("lista.xml");
  20. ?>


nie mam pojęcia co muszę tam zrobić sad.gif proszę was o pomoc


--------------------
Go to the top of the page
+Quote Post
Tubis
post 26.01.2008, 15:57:23
Post #8





Grupa: Zarejestrowani
Postów: 44
Pomógł: 2
Dołączył: 27.03.2007
Skąd: Sufczyn

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


Jakbyś czytał uważnie temat to już byś wiedział smile.gif. Kolega Kicok napisał ci rozwiązanie
Go to the top of the page
+Quote Post
FliSs_tCv
post 26.01.2008, 15:58:32
Post #9





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


hmmm nie bardzo właśnie rozumiem tamto smile.gif sad.gif


--------------------
Go to the top of the page
+Quote Post
Tubis
post 26.01.2008, 16:01:34
Post #10





Grupa: Zarejestrowani
Postów: 44
Pomógł: 2
Dołączył: 27.03.2007
Skąd: Sufczyn

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


  1. <?php
  2. $subnode->setAttribute( 'attribute', 'value' );
  3. ?>


Poprostu zmienna $subnode w twoim przypadku powinna przechwywać uchwyt do
znacznika file xmlowskiego. attribute to src, value to nazwa pliki.
Pozdrawiam

Ten post edytował Tubis 26.01.2008, 16:01:48
Go to the top of the page
+Quote Post
FliSs_tCv
post 27.01.2008, 12:24:26
Post #11





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


Dało by rade aby ten zapis:

  1. <?php
  2. $element->setAttribute( 'src', "$wartosc");
  3. ?>


jakoś zmienić aby z bazy nie wypisywał mi id i file osobno tylko np aby pobierało mi samo file a to id było nie widoczne bo teraz zapisuje mi plik xml w ten sposób:

  1. <?xml version="1.0" encoding="ISO-8859-2"?>
  2. <playlist>
  3.  <id src="1"/>
  4.  <file src="1.mp3"/>
  5.  <id src="2"/>
  6.  <file src="2.mp3"/>
  7. </playlist>


a chce aby było tak:

  1. <?xml version="1.0" encoding="ISO-8859-2"?>
  2. <playlist>
  3.  <file src="1.mp3"/>
  4.  <file src="2.mp3"/>
  5. </playlist>


--------------------
Go to the top of the page
+Quote Post
Tubis
post 27.01.2008, 14:29:50
Post #12





Grupa: Zarejestrowani
Postów: 44
Pomógł: 2
Dołączył: 27.03.2007
Skąd: Sufczyn

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


  1. <?php
  2. if (mysql_connect($sql_serwer, $sql_login, $sql_haslo)
  3. and mysql_select_db($sql_baza)) {
  4. $wynik = mysql_query("SELECT * FROM odtwarzacz");
  5. }
  6.  
  7. $xml = new DomDocument('1.0', 'ISO-8859-2');
  8. $tabela = $xml->appendChild($xml->createElement('playlist'));
  9.  
  10. while($wynik and $dane = mysql_fetch_assoc($wynik)) {
  11.  
  12. foreach ($dane as $pole=>$wartosc) {
  13.  if($pole=='id') {break;} //to dodać
  14.  $element = $tabela->appendChild($xml->createElement($pole));
  15.  $element->appendChild($xml->createTextNode($wartosc));
  16. }
  17. }
  18.  
  19. $xml->formatOutput = true;
  20. $xml->save("lista.xml");
  21. ?>


nie znam twojej struktury bazy, ale coś w ten deseń

Ten post edytował Tubis 27.01.2008, 14:30:20
Go to the top of the page
+Quote Post
FliSs_tCv
post 27.01.2008, 15:23:58
Post #13





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


niestety nie uzyskało to takiego wyglądu o jaki mi chodziło teraz plik xml wygląda tak:
  1. <?xml version="1.0" encoding="ISO-8859-2"?>
  2. <playlist/>


Struktura bazy to:

  1. --
  2. -- Struktura tabeli dla `odtwarzacz`
  3. --
  4.  
  5. CREATE TABLE `odtwarzacz` (
  6. `id` int(11) NOT NULL,
  7. `file` varchar(500) NOT NULL,
  8. PRIMARY KEY (`id`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin2;
  10.  
  11. --
  12. -- Zrzut danych tabeli `odtwarzacz`
  13. --
  14.  
  15. INSERT INTO `odtwarzacz` (`id`, `file`) VALUES
  16. (1, '1.mp3'),
  17. (2, '2.mp3');


--------------------
Go to the top of the page
+Quote Post
Tubis
post 27.01.2008, 15:34:26
Post #14





Grupa: Zarejestrowani
Postów: 44
Pomógł: 2
Dołączył: 27.03.2007
Skąd: Sufczyn

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


Spróbuj
  1. <?php
  2. break;
  3. ?>
zamienić na
  1. <?php
  2. break 1;
  3. ?>
Go to the top of the page
+Quote Post
FliSs_tCv
post 27.01.2008, 15:46:04
Post #15





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

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


niestety to samo sad.gif


--------------------
Go to the top of the page
+Quote Post
Tubis
post 27.01.2008, 16:43:27
Post #16





Grupa: Zarejestrowani
Postów: 44
Pomógł: 2
Dołączył: 27.03.2007
Skąd: Sufczyn

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


  1. <?php
  2. if (mysql_connect($sql_serwer, $sql_login, $sql_haslo)
  3. and mysql_select_db($sql_baza)) {
  4. $wynik = mysql_query("SELECT * FROM odtwarzacz");
  5. }
  6.  
  7. $xml = new DomDocument('1.0', 'ISO-8859-2');
  8. $tabela = $xml->appendChild($xml->createElement('playlist'));
  9.  
  10. while($dane = mysql_fetch_assoc($wynik)) { //tutaj zmiana
  11.  
  12. foreach ($dane as $pole=>$wartosc) {
  13.  if($pole=='id') {break 1;} //to dodać
  14.  $element = $tabela->appendChild($xml->createElement($pole));
  15.  $element->appendChild($xml->createTextNode($wartosc));
  16. }
  17. }
  18.  
  19. $xml->formatOutput = true;
  20. $xml->save("lista.xml");
  21. ?>
Go to the top of the page
+Quote Post
Kicok
post 27.01.2008, 19:40:19
Post #17





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


A nie prościej zamienić zapytanie na:
  1. SELECT file FROM odtwarzacz


i wywalić pętlę foreach?

Później już tylko:
  1. <?php
  2. $element = $tabela->appendChild( $xml->createElement( 'file' ) );
  3. $element->setAttribute( 'src', $dane['file'] );
  4. ?>


--------------------
"Sumienie mam czyste, bo nieużywane."
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: 30.05.2024 - 11:40