Просмотр полной версии : Как лучше сделать связь MySQL+PHP+XML+Flash
Zorro_13
18.04.2008, 01:08
Есть база MySQL!
PHP-скрипт берет из неё данные и что потом?
Он делает строчку состоящую из XML атрибутов и тэгов -
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
echo "<products>\n";
while($line = mysql_fetch_assoc($results)) {
echo "<item>" . $line["product"] . "</item>\n";
}
echo "</products>\n";
Или как лучше сделать?
Заранее спасибо.
Zorro_13
18.04.2008, 15:25
Ответьте пожалуйста, хоть кто-нибудь, по теме естественно.
Я за WebORB.
Когда-то свой первый проект начинал писать используя HTTPService, данные гнал в XML, создавая классы на PHP, методы которых возвращали свои данные в массивах, чтобы был единый интерфейс для формирования результатов в XML ("делая ручками через циклы и echo"). Сейчас все делаю, используя WebORB. Очень удобно.
С использованием его твой код превращается в
$result = array();
while($line = mysql_fetch_assoc($results)) {
$result[] = $line["product"];
}
return $result;
Причем можно и расширить...
$result = array();
while($line = mysql_fetch_assoc($results)) {
$result[] = array('name'=>$line["product"], 'id'=>$line["product_id"]); // и так далее.
}
return $result;
На клиенте используется RemoteObject(). К пример, обработчик на получение
protected function onLoad(event: ResultEvent): void {
var myList: Object = event.result;
for each (var item: Object in myList) {
Alert.show('имя='+item.name+', id='+item.id);
}
}
Причем можно возвращать переменные, ассоциативные массивы любой вложенности, объекты...
Например, если возвращать из PHP array('name'=>'Какое-то имя', 'address'=>array('bldg'=>'какой-то дом', 'street'=>'какая-то улица', 'city'=>'какой-то город')), то на клиенте доступ будет удобный:
var data: Object = event.result;
var name: String = data.name;
var building: String = data.address.bldg;
var street: String = data.address.street;
var city: String = data.address.city;
В общем, серьезная гибкость.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.