Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php + flash]
Forum PHP.pl > Forum > PHP
sivyer
Witam,
Chcialem zapytac o nastepujaca rzecz: czy jest mozliwosc wspolpracy php,mysql i flasha? Mam u siebie system prywatnych wiadomosci i menu chcialem zrobic we flashu, a w menu wyswietlic ilosc nowych informacji (z mysqla, zliczyc ilosc wpisow w bazie i wyswietlic), wie ktos moze jak cos takiego zrobic?
DeyV
http://phpforflash.com/
http://www.macromedia.com/devnet/topics/php.html

czyli można, i to całkiem sprawnie....
Dawid Pytel
Ja zrobiłem sobie taką mała aplikację: z flasha wysyłane jest zapytanie do pliku php który pobiera dane z bazy danych, generuje plik XML który odczytywany jest w Flashu. Jeżeli chcesz to mogę Ci go przesłać na priva lub ewentualnie umieścić tutaj na forum jeżeli znajdzie się więcej chętnych smile.gif
sivyer
re: Dawid
To ja poprosze na maila smile.gif
sivyer@poczta.fm
Z gory dziekuje
Bakus
Proponuję umieścić ją gdzieś w sieci... tak dla potomnych winksmiley.jpg

Z wieklą chęcią bym się z tym zapoznał smile.gif
Dawid Pytel
Więc tak w skrócie:

Tworzymy sobie plik php ktory bedziemy wywolywac z poziomu Flasha, np. index.php

Tworzymy sobie funkcje createXML($zapytanie) która pobiera nam potrzebne rekordy z tabeli w bazie danych i tworzy plik xmla. Calosc wyglada mniej wiecej tak

[php:1:8179cb1e3e]<?php

function createXML($sql)
{

$wynik = mysql_query($sql);

$ile=$db->num_rows($wynik); //liczy ilosc rekordow pobranych z bazy

if(!$ile)
{
header('Location: index.php');
}
else
{

header('Content-type: text/xml');

echo '<?xml version="1.0" encoding="iso-8859-2" ?>';
echo '<userzy columns="'.$ile.'">';

while($pole=mysql_fetch_assoc($wynik))
{
echo '<user ';

foreach($pole as $fieldname => $fieldvalue)
{
echo $fieldname.'="'.$fieldvalue.'" ';
}

echo '/>';

} //while

echo '</userzy>';

}

}

createXML("SELECT * FROM tabela");

?>[/php:1:8179cb1e3e]

Oczywiście to w jaki sposób przekażesz zapytanie do funkcji createXML zalezy tylko od Ciebie smile.gif

W moim przypadku skrypt ten tworzy taki przykladowy plik XMLa:

[xml:1:8179cb1e3e]
<?xml version="1.0" encoding="iso-8859-2" ?>
- <userzy columns="2">
<user id="2003101970M002" imie="Adam" nazwisko="Nowak" plec="M" rok_urodzenia="1970" />
<user id="2003101940K003" imie="Ewa" nazwisko="Pawłowska" plec="K" rok_urodzenia="1940" />
</userzy>
[/xml:1:8179cb1e3e]

Zapytacie pewnie dlaczego wszystkie zmienne umieszczone sa jako parametry. Poniewaz lepiej sobie radzi z taka postacia plikow XML.

Acha, nazwy parametrow to nazwy pol w tabeli - tworzone sa automatycznie.


No i teraz czas na flasha smile.gif Oto pierwsza klatka kluczowa i jej Action Script:

[php:1:8179cb1e3e]
System.UseCodePage = true;
xmlfile = "index.php";

myXML = new XML();
myXML.ignoreWhite = true;
myXML.load(xmlfile);
xmlpath.ignoreWhitespace = true;

newClip = "pozycja";

this.onEnterFrame = function() {

if (myXML.loaded != 1)
{
message = "loading...";
}
else if (myXML.firstchild.hasChildNodes())
{
message = "done...";
delete ("this.onEnterFrame");
myFiles = new Array();
myFiles = myXML.firstchild.childNodes;
totalFiles = myFiles.length;
columns = myXML.firstchild.attributes.columns;

for (i=0; i<totalFiles; i++)
{

this.attachMovie("pozycja", newClip+i, 100+i);

if(i==0)
{
yP=1;
}

// pozycja
this[newClip+i]._x = 90;
this[newClip+i]._y = 70*yP*2;

// wartosc tekstu
this[newClip+i].id = myFiles[i].attributes.id;
this[newClip+i].imie = myFiles[i].attributes.imie;
this[newClip+i].nazwisko = myFiles[i].attributes.nazwisko;

// Wyswietlenie zdjecia
H = 80;
ID = this[newClip+i].id;
URL = "img.php?id="+ID+"&h="+H;

this.attachMovie("area", fotka+i, 200+i);
this[fotka+i].loadMovie(URL);
this[fotka+i]._x = 190;
this[fotka+i]._y = 60*yP*2+(i*10);

yP++;

} //for

} //elseif

};

[/php:1:8179cb1e3e]


Do wyswietlenia wynikow uzywam Movie Clipu "pozycja" gdzie ustawilem pola id,imie, nazwisko no i pole na fotke. Po wiecej na temat flasha odsylam do www.flashroom.com do dzialu XML.


A oto jak dziala wersja robocza aplikacji:

www.drokan.tyski.pl/flash/czytaj.html

Mam nadzieje ze troche przyblizylem Wam ten temat smile.gif
Bakus
Ciekawe rozwiązanie...
Jak przyjrzę się bliżej, to może jeszcze coś skrobne... winksmiley.jpg

P.S. Dzięki...
ryży
Zajrzyj także na www.flashroom.com/showroom/ - w pierwszym numerze showroom jest artykuł o php i Flash Remoting.
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.