Показать сообщение отдельно
Старый 18.04.2008, 18:14
sangle вне форума Посмотреть профиль Отправить личное сообщение для sangle Найти все сообщения от sangle
  № 4  
Ответить с цитированием
sangle

Регистрация: Sep 2007
Сообщений: 32
Я за 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;
В общем, серьезная гибкость.


Последний раз редактировалось sangle; 18.04.2008 в 22:25.