PDA

Просмотр полной версии : вывод данных в datagrid из mysql


NikolyA
17.02.2011, 20:30
Вопрос: как вывести данные в datagrid, у меня есть база mysql с таблицей и данными, мне надо в datagrid вывести значения Name и Email, как можно сделать? интересует именно AS2 реализация

mooncar
17.02.2011, 21:29
Используйте метод LoadVars.sendAndLoad.
Напишите php-скрипт с sql-запросом и вызывайте его этим методом.
После вызова полученные данные (в обработчике onLoad) выводите в компонент.
Сам я его не использовал, но вероятно, для обновления данных DataGrid.editField().

Разумеется, удобнее всего работать, разбивая задачу. Сперва отладьте скрипт, чтобы он выдвал ответ на запрос. При этом можно тестить прямо в браузере. Потом беритесь за флеш - запрос с помощью sendAndLoad и вывод за DataGrid.

Tails
17.02.2011, 21:52
только с ас2 - никак. Либо пхп, либо используйте оболочку Zinc, если бд на локальной машине.

NikolyA
17.02.2011, 21:56
сделал следущее:

var myGridArray:Array = [];
myGridArray.push({status:"loading data..."});
myGrid.dataProvider = myGridArray;
var sender:LoadVars = new LoadVars();
var receiver:LoadVars = new LoadVars();
receiver.onLoad = function(ok){
if(ok){
myGrid.removeAllColumns();
myGrid.removeAll();
for(var i =1;i<=receiver.total;i++){
receiver["dataPacket"+i] = receiver["user_data"+(i)].split("|");
var _userID:String = receiver["dataPacket"+i][0];
var _userName:String = receiver["dataPacket"+i][1];
var _userPassword:String = receiver["dataPacket"+i][2];
myGridArray.push({ Name:_userName, Password:_userPassword});
delete(receiver["user_data"+i]);
}
myGrid.dataProvider = myGridArray;
}else{
myGrid.removeAllColumns();
myGrid.removeAll();
myGridArray.push({status:"No data was found!"});
myGrid.dataProvider = gridArray;
}
}

sender.sendAndLoad("dataTable.php",receiver,"post");

выводит из базы корректные данные, но автоматом, вот куда прицепить обработчик, чтоб при нажатии шел запрос в базу и данные выводились, попробовал на кнопку повесить это: sender.sendAndLoad("dataTable.php",receiver,"post"); - результат ничего не дал