Veri bağlantımızı yaptık varsayalım.
Mesela haberler tablemiz olsun,
haberler tablemizle ilgili mysql sorgu ve dizi kodlarımızı yazalım.
$sorgu = mysql_query("select * from haberler",$vtbağlanti);
$context['haberler'] = array();
while ($row = mysql_fetch_array($sorgu))
{
$context['haberler'][] = array(
'resime' => duzeduz($row['resim']),
'name' => duzeduz($row['haberbaslik']),
'id' => $i
);
$i++;
}
mysql_free_result($sorgu);
XML ile flasha gidecek olan verilerimizi dizi değişkenlere aktardık.
Sıra sayfayı uzantısı php kendisi XML olacak şekilde ayarlamaya geldi.
echo "<?xml version='1.0' encoding='utf-8' standalone='yes'?>\n";
echo "<haber>";
foreach ($context['haberler'] as $poster)
{
?>
<veri>
<verix><?=$poster["resime"]?></verix>
<baslik><?=$poster["name"]?></baslik>
</veri>
<?
} // foreach sonu
?>
</haber> // document sonu
<?
mysql_close($vtbaglanti);
?>
Sayfayı php uzantısı olarak kaydedip sunucumuzda denemek için açtığımızda karşımıza sanki xml sayfası gibi gelecektir. Bu bize neyi kazandıracaktır.
xml olarak yayınlanacak olan bilgilerinizi yetkilendirilecek kişilere sunma gibi bir kolaylık olabilir mesela veya veritabanınızda değiştireceğiniz bilgiler otomatik olarak çıkacağı için her değiştirilecek veri için tekrar tekrar xml sayfası hazırlamanıza gerek kalmayacak. Bence en önemlisi php sayfasına kime erişim hakkı verilmesi. Öbür türlü genel anlamda sadece yolu yazmakla xml dosyanıza zaten erişim hakkı olacaktır.
Çıktısı aşağıdaki gibi olacaktır.
Şimdide flash tarafına geçelim ve bu xml deki bilgileri alalım.Aslında konumuz php ile xml olayı idi extra olsun flash ile bu bilgilerin alınmasını yüzeysel olarak kodunu gösterelim. Ayrıca değineceğiz bu konuya....
Mesela sadece ilk veriyi gösterelim.
Bunun için flash (flash 8 için) sayfası açıp iki tane text kutusu koyup birine resimad diğerine de hbaslik adı veriniz.
ilk frameye de şu kodlarımızı yazalım.
function XML_yukleme(yukle) {
if (yukle) {
xmlNodu = this.firstChild;
resim = [];
baslik = [];
total = xmlNodu.childNodes.length;
for (i=0; i<total; i++) {
resim[i] = xmlNodu.childNodes[i].childNodes[0].firstChild.nodeValue;
baslik[i] = xmlNodu.childNodes[i].childNodes[1].firstChild.nodeValue;
}
ilkVeri();
} else {
hbaslik.text = "XML Hatası!";
}
};
xmlVerileri = new XML();
xmlVerileri.ignoreWhite = true;
System.useCodePage = true;
xmlVerileri.onLoad = XML_yukleme;
xmlVerileri.load("phpli.php");
function ilkVeri() {
resimad.text = resim[0];
hbaslik.text = baslik[0];
};