короче вот код 2 файлов при этом я использую готовую библиотеку anfphp
первый файл

Код AS3:
<?xml version = "1.0" encoding = "utf-8"?>
<mx:TitleWindow xmlns:mx = "http://www.adobe.com/2006/mxml"
creationComplete="onCreateComplete()"
showCloseButton = "true"
layout="absolute"
xmlns:phi="phi.db.*"
close = "CloseAll()"
width="546"
height="358"
title="Должности"
themeColor="#101213"
borderColor="#FF0000"
backgroundColor="#FEFEFE">
<mx:Script>
<![CDATA[
import mx.controls.Text;
import mx.managers.PopUpManager;
import mx.binding.utils.BindingUtils;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.CloseEvent;
import phi.interfaces.IQuery;
import phi.interfaces.IDatabase;
import phi.db.Database;
import phi.db.Query;
private var db1 :IDatabase;
private var query1 :IQuery;
private var pId1 :String;
private var pSearchSQL1 :String;
[Bindable] public var aW:UsersWindow;
[Bindable] public var a:int;
[Bindable] public var doljnost1 : ArrayCollection;
private function Checkbox1_Check():void
{
if (Checkbox1.selected==true)
{
Checkbox2.selected=false;
Checkbox2.visible=true;
txtDoljnost.enabled=false;
BtnInsert.visible=false;
BtnChange.visible=false;
BtnDelete.visible=false;
BtnDelete.label='Удалить';
BtnChange.label='Изменить';
BtnDelete.toolTip='Удалить';
BtnChange.toolTip='Изменить';
BtnClear.label='Поиск';
BtnClear.toolTip='Поиск';
txtDoljnost.text="";
return;
}
else
{
Checkbox2.visible=false;
txtDoljnost.enabled=true;
BtnInsert.visible=true;
BtnChange.visible=true;
BtnDelete.visible=true;
BtnClear.label='Очистить';
BtnClear.toolTip='Очистить';
LoadDatagrid();
return;
}
}
private function Checkbox_Check():void
{
if (Checkbox2.selected==true){txtDoljnost.enabled=true} else {txtDoljnost.enabled=false}
}
private function queryDoljnostEnd (evt:Object):void
{
doljnost1=query1.getRecords();
}
private function LoadDatagrid():void
{
query1.addEventListener(Query.QUERY_END,queryDoljnostEnd);
query1.execute("Select * from doljnost");
}
private function onCreateComplete():void
{
PopUpManager.centerPopUp(this);
db1 = Database.getInstance();
query1=new Query();
db1.connect("conn_","root","","localhost","test",true);
query1.connect("conn_",db1);
LoadDatagrid();
ClearAll();
Checkbox2.visible=false;
}
private function CloseAll():void
{
db1.disconnect("conn_");
// aW.Combo1.selectedIndex=datagrid.selectedItem.id;
PopUpManager.removePopUp(this)
}
private function ClearAll():void
{
if (BtnClear.label=='Очистить')
{
BtnClose.useHandCursor = true;
BtnClose.buttonMode = true;
BtnClose.mouseChildren = false;
BtnClear.useHandCursor = true;
BtnClear.buttonMode = true;
BtnClear.mouseChildren = false;
BtnInsert.useHandCursor = true;
BtnInsert.buttonMode = true;
BtnInsert.mouseChildren = false;
BtnChange.useHandCursor = true;
BtnChange.buttonMode = true;
BtnChange.mouseChildren = false;
BtnDelete.useHandCursor = true;
BtnDelete.buttonMode = true;
BtnDelete.mouseChildren = false;
Checkbox1.useHandCursor = true;
Checkbox1.buttonMode = true;
Checkbox1.mouseChildren = false;
Checkbox2.useHandCursor = true;
Checkbox2.buttonMode = true;
Checkbox2.mouseChildren = false;
txtDoljnost.text="";
txtDoljnost.setFocus();
return;
}
else
{
pSearchSQL1="";
if (BtnClear.label=='Поиск')
{
if (Checkbox2.selected==false){}else{pSearchSQL1=pSearchSQL1+" name like '"+txtDoljnost.text+"%' and "}
}
pSearchSQL1=pSearchSQL1.substr(0,pSearchSQL1.length-4);
//Alert.show(pSearchSQL);
query1.addEventListener(Query.QUERY_END,queryDoljnostEnd);
query1.execute("Select name from Doljnost where "+pSearchSQL1);
return;
}
}
private function ChangeRecord():void
{
if (datagrid.selectedIndex==-1)
{Alert.show("Укажите запись для изменения");
return;
}
if (BtnChange.label=='Изменить')
{
txtDoljnost.text=datagrid.selectedItem.name;
BtnChange.label='Обновить';
BtnChange.toolTip='Обновить';
BtnDelete.toolTip='Отменить';
BtnDelete.label='Отменить';
return;
}
else
{
query1.addEventListener(Query.QUERY_END,queryDoljnostEnd);
query1.execute("Update doljnost set name='"+txtDoljnost.text+"' where id="+datagrid.selectedItem.id);
LoadDatagrid();
ClearAll();
BtnDelete.label='Удалить';
BtnChange.label='Изменить';
BtnDelete.toolTip='Удалить';
BtnChange.toolTip='Изменить';
return;
}
}
private function DelRecord():void
{
if (BtnDelete.label=='Отменить')
{
BtnDelete.label='Удалить';
BtnChange.label='Изменить';
BtnDelete.toolTip='Удалить';
BtnChange.toolTip='Изменить';
txtDoljnost.text="";
return;
}
else
{
pId1=datagrid.selectedItem.id;
Alert.show("Удалить запись","Удаление записи",(Alert.YES|Alert.NO), this,findDeleteResponse);
}
}
private function findDeleteResponse(e:CloseEvent):void{
if (e.detail == Alert.YES) {
query1.execute("Delete from Doljnost where id="+pId1);
LoadDatagrid();
}
else
{
}
}
private function InsertRecord():void
{
if (txtDoljnost.text == "")
{
Alert.show("Укажите должность");
txtDoljnost.setFocus();
return;
}
query1.addEventListener(Query.QUERY_END,queryDoljnostEnd);
query1.execute("Insert into Doljnost (name) values ('"+txtDoljnost.text+"')");
LoadDatagrid();
txtDoljnost.text="";
LabelCount.text='Всего записей : '+ doljnost1.length.toString();
}
private function DeleteRecord():void
{
if (datagrid.selectedIndex==-1)
{Alert.show("Укажите запись для удаления");
return;
}
DelRecord();
LoadDatagrid();
}
private function TestIt():void
{
query1.addEventListener(Query.QUERY_END,queryDoljnostEnd);
query1.execute("Select name from Doljnost");
}
private function UsersWindowShow():void
{
aW = new UsersWindow();
PopUpManager.addPopUp(aW, this, false);
//Combo1.selectedItem.name=datagrid.selectedItem.name;
}
]]>
</mx:Script>
<mx:Spacer height = "100%"/>
<mx:DataGrid id="datagrid" dataProvider="{doljnost1}" selectable="true" width="505" height="215" x="10" y="70" click="a=datagrid.selectedItem.id">
<mx:columns>
<mx:DataGridColumn headerText="ID" width="30" dataField="id"/>
<mx:DataGridColumn headerText="Должность" width="200" dataField="name"/>
</mx:columns>
</mx:DataGrid>
<mx:TextInput id="txtDoljnost" width="417" x="76" y="10"/>
<mx:Button label="Добавить" click="InsertRecord()" id="BtnInsert" toolTip="Добавить" x="188" y="40"/>
<mx:Label text="Фамилия" width="56" height="20" x="12" y="12"/>
<mx:Button label="Удалить" width="81" click="DeleteRecord()" id="BtnDelete" toolTip="Удалить" x="365" y="40"/>
<mx:Button label="Изменить" click="ChangeRecord()" id="BtnChange" toolTip="Изменить" x="277" y="40"/>
<mx:Button label="Закрыть" width="81" id="BtnClose" click="CloseAll()" toolTip="Закрыть" x="10" y="40"/>
<mx:Button label="Очистить" width="81" click="ClearAll()" id="BtnClear" toolTip="Очистить" x="99" y="40"/>
<mx:Label text="Всего записей : {doljnost1.length.toString()}" id="LabelCount" x="10" y="293"/>
<mx:RadioButtonGroup id="radiogroup1"/>
<mx:CheckBox label="Поиск" id="Checkbox1" selected="false" click="Checkbox1_Check()" toolTip="Поиск" width="60" alpha="1.0" x="456" y="40"/>
<mx:CheckBox x="501" y="10" id="Checkbox2" click="Checkbox_Check()"/>
<mx:Button x="335" y="291" label="Button" click="UsersWindowShow();"/>
<mx:Button x="428" y="291" label="pokaz" click="Alert.show(a.toString());"/>
</mx:TitleWindow>