8/19/2019 Bases de Datos Con Flash y AMFPHP
1/15
Bases de Datos con Flash y AMFPHP
Por Maikel el 11 de Septiembre de 2005 con 182,735visitas.Aplicaciones we y !oviles "t#os t$to#iales po# Mai%el.
&ste t$to#ial es pa#a de al'$na !ane#a ($ita# el !iedo ($e tienen los
p#o'#a!ado#es n$evos y de nivel !edio de Action)c#ipt y PHP de desa##olla#
p#oyectos con AMFPHP, no aa#ca#* todo so#e esto pe#o t#ata#* de da#le $n
$en e!p$+e hacia el ap#ovecha!iento de Flash e!otin', y lo ha#* con $n
e+e!plo de las t-picas ope#aciones so#e Base de Datos inse#ta#, cons$lta,
!odi/ca# y eli!ina#0.
Requerimientos para seguir el tutorial:
• ene# instalado los co!ponentes de Flash e!otin', as- co!o
ta!i*n hae# instalado AMFPHP en el se#vido# ($e vaya!os a $sa#,
sino saes de lo ($e estoy halando, po# avo# lee estos 2 t$to#iales
p#i!e#o
• $to#ial de instalaci4n de Flash e!otin' y AMFPHP
• $to#ial de ind$cci4n e instalaci4n de Flash e!otin' y
AMFPHP
• onoci!ientos !edios de p#o'#a!aci4n en PHP y Action)c#ipt.
• onoci!ientos 6sicos de Base de Datos y de My)Preparación de la Base de Datos:
#ea $na ase de datos pa#a el e+e!plo o $sa la ($e ten'as si es de
alo+a!iento '#at$ito0, en !i caso lla!a#* a la ase de datos AMFPHP.
#ea $na tala con 3 ca!pos, en !i caso le di el no!#e de prueba, los ca!pos
dee#6n tene# esta desc#ipci4n
ombre!ipo de
Dato"aracter#sticas adicionales
id i'intnot n$ll, a$to9inc#e!ent, clave
p#i!a#ia
no!#e te:t n$ll
co!enta#ios te:t n$ll
"onsideraciones:
• &n el e+e!plo se $tili;o las $nciones escape y unescape de .> ($e esta#6
http://lhev.org/http://lhev.org/http://www.cristalab.com/tutoriales/2-aplicaciones-web-y-moviles/http://www.cristalab.com/usuario/2645-maikelhttp://www.cristalab.com/tutoriales/102/tutorial_de_instalacion_de_flash_remoting_y_amfphphttp://www.cristalab.com/tutoriales/87/tutorial_de_induccion_e_instalacion_de_flash_remoting_y_amfphphttp://www.cristalab.com/tutoriales/87/tutorial_de_induccion_e_instalacion_de_flash_remoting_y_amfphphttp://www.cristalab.com/tutoriales/2-aplicaciones-web-y-moviles/http://www.cristalab.com/usuario/2645-maikelhttp://www.cristalab.com/tutoriales/102/tutorial_de_instalacion_de_flash_remoting_y_amfphphttp://www.cristalab.com/tutoriales/87/tutorial_de_induccion_e_instalacion_de_flash_remoting_y_amfphphttp://www.cristalab.com/tutoriales/87/tutorial_de_induccion_e_instalacion_de_flash_remoting_y_amfphphttp://lhev.org/
8/19/2019 Bases de Datos Con Flash y AMFPHP
2/15
#ep#esentado po# la sec$encia =2&, esto se hi;o con el /n de
solventa# los p#ole!as de los ca#acte#es especiales co!o let#as
acent$adas, tildes, etc. As- ($e si los ca!pos no!#e y co!enta#ios
de la tala son de tipo va#cha# de 3? ca#acte#es solo se '$a#da#6n los
ca#acte#es ($e alcancen y no p#ecisa!ente los 3? ca#acte#es ($e
esc#ia!os en la aplicaci4n po# lo ya e:plicado.
• )i $sas PHP5, po# avo# instala AMFPHP Milestone 2 o s$pe#io#0, en
este caso, el $so de escape y unescape de la conside#aci4n ante#io#
es #ed$ndante, al i'$al ($e el $t89encode en el sc#ipt php, ya ($e
dicha ve#si4n de AMFPHP t#aa+a po# deecto con la codi/caci4n @F
8 y a die#encia de la ve#si4n ?. t#aa+a con php5.Preparación del $scenario:
Cos apoya#e!os de las he##a!ientas ($e nos p#ovee Flash co!o son los
co!ponentes y $nos te:tos din6!icos pa#a c#ea# la inte#a; de n$est#a
pe($ea aplicaci4n, conta#e!os con
!ipo"antid
adombre de %nstancia&s'
DataE#id 1 data'#id
B$tton tnons$lta#, tnGnse#ta#, tnModi/ca#,
tn&li!ina#, tn)i, tnCo
e:tGnp$t 3 idt:t, no!#et:t y co!enta#iost:t.Dyna!ic
e:t3 estadot:t, caece#at:t y p#e'$ntat:t.
)tatic e:t
2
Ra(ón de cada uno:
datagrid: #eposito#io de los #e'ist#os de la Base de Datos.
btnConsultar: ha#6 $n cons$lta a la ase de datos.
btnInsertar, btnModifcar y btnEliminar: p#epa#a#6n los e:tGnp$ts pa#a la
cons$lta ($e se vaya hace# so#e la ase de datos.
btnSi, btnNo: se#vi#6n pa#a con/#!a# o cancela# la acci4n so#e la ase de
datos.
idtt, nombrett y comentariostt: contend#6n los datos de la celda
seleccionada en el data'#id, en el caso de ($e sea p#esionado el oton
tnGnse#ta# estos se o#!atea#6n.
estadott avisa#6 si la cons$lta $e #eali;ada e:itosa!ente o no.
preguntatt o#!$la#6 $na p#e'$nta co##espondiente pa#a la con/#!aci4n de la
acci4n.
8/19/2019 Bases de Datos Con Flash y AMFPHP
3/15
8/19/2019 Bases de Datos Con Flash y AMFPHP
4/15
>access> ON >#e!ote>, >a#'$!ents> ON a##ay>no!#e>,>co!enta#ios>0 0, >eli!ina#> ON a##ay >desc#iption> ON >eli!ina $n #e'ist#o>,
>access> ON >#e!ote>, >a#'$!ents> ON a##ay>id>0 0, >!odi/ca#> ON a##ay >desc#iption> ON >!odi/ca $n #e'ist#o>, >access> ON >#e!ote>, >a#'$!ents> ON a##ay>id>0 0, >cons$lta> ON a##ay >desc#iption> ON >cons$lta n ca!pos>, >access> ON >#e!ote>
0, >($e#y> ON a##ay >desc#iption> ON >e+ec$ta $n ($e#y a M)>, >access> ON >p#ivate>, >a#'$!ents> ON a##ay >s(l>,>accion>0 0 0Q R
$nction inse#ta#no!#e,co!enta#ios0L no!#e O $t89encodeno!#e0Q
co!enta#ios O $t89encodeco!enta#ios0Q s(lO >GC)& GC" p#$ea id,no!#e,co!enta#ios0 SA@&) TT,T>.no!#e.>T,T>.co!enta#ios.>T0>Q #et$#n thisN($e#ys(l,10Q UU#eto#na!os el id de n$est#o #e'ist#oinse#tado
R
$nction eli!ina# id0L s(lO >D&&& F"M p#$ea VH&& idOT>.id.>T GMG 1>Q #et$#n thisN($e#ys(l,?0Q R
$nction !odi/ca# id,no!#e,co!enta#ios0L
no!#e O $t89encodeno!#e0Q co!enta#ios O $t89encodeco!enta#ios0Q UUc#ea!os la cadena de n$est#a sentencia($e#y0 )
s(l O >@PDA& Wp#$eaW )& Wno!#eW OT>.no!#e.>T,Wco!enta#iosW OT>.co!enta#ios.>T VH&& WidW O>.id.> GMG 1Q>Q #et$#n thisN($e#ys(l,?0Q R
$nction cons$lta 0L s(l O >)&& X F"M p#$ea "D& B id >Q
8/19/2019 Bases de Datos Con Flash y AMFPHP
5/15
#et$#n thisN($e#ys(l,?0Q R
$nction ($e#y s(l, accion0L cone:O !ys(l9connect>t$host>,>$se#>,>passwo#d>0 o# die>no se
p$ede conecta# po#($e >.!ys(l9e##o#00Q !ys(l9select9d>no!#edeasededatos>0Q #es$ltO !ys(l9($e#ys(l,cone:0Q i accion YY #es$lt0L #es$ltO !ys(l9inse#t9id0Q R !ys(l9closecone:0Q #et$#n #es$ltQ R
R
KN
$*plicación:
class mis#uerys % i'$al al no!#e del a#chivo, e:cept$ando la e:tensi4n .php
&unction mis#uerys %' const#$cto# de la clase, identi/cado# i'$al al no!#e de
la clase.
(t!is)*met!od+able array% pa#a de/ni# los !*todos ($e tend#6 n$est#a
clase.
-insertar- * array % no!#e del !*todo inse#ta# de n$est#a clase, al i'$al($e las l-neas si!ila#es.
-description- * -inserta un registro-, co!enta#io del !*todo, desc#ii!os
($e hace dicho !*todo.
-access- * -remote-, tipo de acceso del !*todo, posiles valo#es p$lic,
#e!ote y p#ivate.
-arguments- * array%-nombre-,-comentarios-' pa#6!et#os del !*todo.
@na desc#ipci4n detallada de cada !*todo
ombre Par+metros $*plicación ,alor de Retorno
inse#ta#
no!#e,co!enta#ios
Gnse#ta lospa#6!et#os a los#espectivos ca!posde la tala,codi/cando con$t89encode lospa#6!et#os pa#aentende# lacodi/caci4n ($e hace
8/19/2019 Bases de Datos Con Flash y AMFPHP
6/15
#espectiva sentencia).
eli!ina#
id
#ea la sentencia) D&&& con lacondici4n de ($e id
sea el ($e #eciio.
eto#na 1 si $ee:itosa la ope#aci4n o
? en caso cont#a#io.
!odi/ca#
id,no!#e,co!enta#ios
#ea la sentencia) @PDA&,$scando el #e'ist#oc$yo ca!po idco##esponda con idy act$ali;a losca!pos no!#e yco!enta#ios con los#espectivospa#6!et#os.
eto#na 1 si $ee:itosa la ope#aci4n o? en caso cont#a#io.
cons$lta
nin'$no#ea la sentencia) )&& pa#aselecciona# todos los#e'ist#os de la tala.
eto#na $n eco#d)etcon los #e'ist#os.
($e#ys(l,accion
s(l se#6 la sentencia) ($e e+ec$ta#6,accion es pa#ahace# $na e:cepci4nde ($e si la sentenciaes $n GC)&.
• Pa#acons$lta#eto#na $n#eco#d)et.
• Pa#a eli!ina#y !odi/ca#1 o ? en
caso de ($ehaya sidoe:itosa laope#aci4n.
• Pa#ainse#ta# hay$nae:cepci4ndonde elpa#6!et#oaccionvald#6 1 al
invoca# la$nci4n($e#y y espa#a indica#($e#eto#na#6 elid del Zlti!o#e'ist#oinse#tado.
&spe#o ($e hayan entendido hasta a($-, no esta d-/cil, c$al($ie# cosa v$elve a
lee#lo, sino contin$a con el c4di'o de Action)c#ipt
8/19/2019 Bases de Datos Con Flash y AMFPHP
7/15
i!po#t !:.#e!otin'.Cet)e#vicesQi!po#t !:.#e!otin'.onnectionQ
!:.#e!otin'.de$'.CetDe$'.initiali;e0QCet)e#vices.setDea$ltEateway@#l>httpUUlocalhostU#e!otin'5U'ateway.php> 0Q
cone:ion O Cet)e#vices.c#eateEatewayonnection0Qcapt$#aesp$esta O new "+ect0Qse#vicio O cone:ion.'et)e#vice>!is($e#ys>,capt$#aesp$esta0Q capt$#aesp$esta.on)tat$s O $nction data0L t#ace>F$c% $n e##o#, po#> [data.desc#iption0QR
as 3 p#i!e#as l-neas i!po#ta!os las li#e#ias 6sicas pa#a t#aa+a# con
#e!otin' y lo iniciali;a!os.
as si'$ientes 2 l-neas nos conecta!os a n$est#o 'ateway dici*ndole c$al es la
@ asol$ta y c#ea!os $na va#iale pa#a c#ea# la cone:i4n a n$est#o 'ateway.
as ot#as 2 l-neas c#ea!os $n o+eto ($e nos se#vi#6 pa#a esc$cha# al se#vicio,
esto lo hace!os seleccionando el se#vicio con la va#iale cone:i4n ($e c#ea!os
p#evia!ente.
a Zlti!a $nci4n ($e##6s ($e n$nca sea invocada, pe#o ($e !6s hay ($e
i!ple!enta#la po#($e ella nos avisa#6 si hay $n e##o# al conecta# el se#vicio $ot#os e##o#es, data$descriptionnos detalla#6 el e##o# en caso de hae# oc$##ido.
capt$#aesp$esta.cons$lta9es$lt O $nction data0L va# p#oveedo#A##ay O new A##ay0Q tnGnse#ta#.enaledOt#$eQ
i data0L i data.'eten'th00L o# iO?Q iJdata.'eten'th0Qi[[0L
p#oveedo#.addGte!Liddata.'etGte!Ati0.id,no!#e$nescapedata.'etGte!Ati0.no!#e0,co!enta#ios$nescapedata.'etGte!Ati0.co!enta#ios0R0Q R data'#id.dataP#ovide#O p#oveedo#Q data'#id.'etol$!nAt?0.widthO5?Q data'#id.'etol$!nAt10.widthO12.5Q data'#id.'etol$!nAt20.widthO12.5Q data'#id.selectedGnde: O ?Q idt:t.te:t O data'#id.selectedGte!.idQ no!#et:t.te:t O data'#id.selectedGte!.no!#eQ co!enta#iost:t.te:t Odata'#id.selectedGte!.co!enta#iosQ tnModi/ca#.enaledOtn&li!ina#.enaledOt#$eQ
8/19/2019 Bases de Datos Con Flash y AMFPHP
8/15
estadot:t.te:tO>ons$lta co!pletada>Q R else L tnModi/ca#.enaledOtn&li!ina#.enaledOalseQ estadot:t.te:tO>Co hay #e'ist#o ($e !ost#a#>Q R
R else L estadot:t.te:tO>"c$##io $n e##o# en la cons$lta>Q RR
A($- e!pe;a!os a esc$cha# a n$est#o se#vicio, n4tese la sec$encia del no!#e
de la $nci4n, p#i!e#o el no!#e del o+eto ($e c#ea!os p#evia!ente, se'$ido
de $n p$nto, l$e'o el no!#e del !*todo ($e invoca!os de n$est#o se#vicio,
desp$es $n 9 y po# Zlti!o es$lt, as- ($e en esta $nci4n esc$cha#-a!os lo ($e
nos #eto#na el !*todo cons$lta de n$est#o se#vicio, \cie#toK P$es s-, y el
pa#6!et#o contend#6 el valo# de lo ($e nos #eto#no n$est#o !*todo, en este
caso $n eco#d)et.
Aho#a e:plica#* ($e ha'o a($-, c#eo $n a##ay y lo lleno con los valo#es del
eco#d)et pa#a pode# decodi/ca#lo con $nescape, este a##ay se lo asi'no al
data'#id en tal caso de ($e haya po# lo !enos $n #e'ist#o, en caso cont#a#io
deshailita#e!os los otones eli!ina# y !odi/ca# ya ($e si no hay #e'ist#o no
pod#e!os #eali;a# estas acciones .
capt$#aesp$esta.inse#ta#9es$lt O $nction data0L !ost#a#o!ponentesalse0Q
i data0L data'#id.addGte!L id data, no!#e no!#et:t.te:t,co!enta#ios co!enta#iost:t.te:t R0Q data'#id.'etol$!nAt?0.widthO5?Q data'#id.'etol$!nAt10.widthO12.5Q data'#id.'etol$!nAt20.widthO12.5Q data'#id.selectedGnde:Odata'#id.'eten'th01Q
idt:t.te:t O data'#id.selectedGte!.idQ no!#et:t.te:t O data'#id.selectedGte!.no!#eQ co!enta#iost:t.te:t O data'#id.selectedGte!.co!enta#iosQ
estadot:t.te:t O >a inse#ci4n se #eali;4 e:itosa!ente>QR else L
estadot:t.te:t O >a inse#ci4n no $e co!pletada, intente den$evo>Q RR
&sc$cha!os al !*todo inse#ta#, si data es die#ente de ?, es deci#, tene!os $n
id, es po#($e se #eali;4 la ope#aci4n e:itosa!ente, entonces inse#ta!os n$est#o
8/19/2019 Bases de Datos Con Flash y AMFPHP
9/15
#e'ist#o al data'#id con el n$evo id y los valo#es ($e tene!os en los e:tGnp$ts
de nombrestt y comentariostt po#($e esto son los ($e inse#ta!os, po# Zlti!o
de+a!os seleccionado el #e'ist#oo ite!0 ($e acaa!os de inse#ta# y asi'na!os
los valo#es del ite! seleccionado a los e:tGnp$ts co##espondiente pa#a ($e
estos no ($eden vacios o con valo#es co##$ptos.
Nota: digo corrupto por#ue cuando presionamos el boton de
insertar%btnInsertar' alteramos el tetInput idtt asignandole .. y no
podemos !acer una operaci/n de modifcar o eliminar con ese "alor$
capt$#aesp$esta.!odi/ca#9es$lt O $nction data0L !ost#a#o!ponentesalse0Q i data0L
data'#id.editFielddata'#id.selectedGnde:,>no!#e>,$nescapeno!#et:t.te:t00Q
data'#id.editFielddata'#id.selectedGnde:,>co!enta#ios>,$nescapeco!enta#iost:t.te:t00Q estadot:t.te:t O >a !odi/cac4n se #eali;4 e:itosa!ente>Q R else L estadot:t.te:t O >a !odi/caci4n no se #eali;o, intente den$evo>Q
RR
A($i data es 1 si la ope#aci4n de !odi/ca# $e e:itosa, po# ende alte#a!os el
ite! seleccionado del data'#id con los valo#es del e:tGnp$t
s nombrett y comentariostt , idtt no lo $tili;a!os po#($e necesita!os sae#
la posici4n en el data'#id no el nZ!e#o de id, si en tal caso data es ? entonces
e!iti!os $n !ensa+e de e##o#, po# cie#to, en las $nciones ante#io#es ta!ien lo
hace!os.
Nota: "alor de id es di&erente al 0ndice del item seleccionado del datagrid $
capt$#aesp$esta.eli!ina#9es$lt O $nction data0L !ost#a#o!ponentesalse0Q
i data0L estadot:t.te:t O >&l #e'ist#o se eli!ino co##ecta!ente>Q a$: O data'#id.selectedGnde:Q
data'#id.#e!oveGte!Atdata'#id.selectedGnde:0Q
8/19/2019 Bases de Datos Con Flash y AMFPHP
10/15
UU$na e:cepcion si el data'#id se ($eda vacioUUdeshailita!os los otones !odi/ca# y eli!ina#
i data'#id.'eten'th0OO?0L tnModi/ca#.enaledOtn&li!ina#.enaledOalseQ
R else L a$:]O?0Kdata'#id.selectedGnde:Oa$:1data'#id.selectedGnde:O?Q idt:t.te:tOdata'#id.selectedGte!.idQ no!#et:t.te:tOdata'#id.selectedGte!.no!#eQ
co!enta#iost:t.te:tOdata'#id.selectedGte!.co!enta#iosQ R R elseL estadot:t.te:t O >&l #e'ist#o no se eli!ino, ope#aci4n all4>Q
RR
A($i si data es 1 entonces p#ocede!os a eli!ina# el ite! seleccionado del
data'#id, hay $na e:cepci4n a($-, p$ede se# ($e el data'#id ($ede vac-o en tal
caso de ($e esto oc$##a dee!os deshailita# los otones de
!odi/ca#tnModi/ca#0 y eli!ina#tn&li!ina#0, ya ($e no pod#e!os #eali;a#
estas ope#aciones con el data'#id vac-o, si esto no oc$##e ve#i/ca#e!os $na
cosa !6s, ($e si el ite! eli!inado no es el p#i!e# ite! entonces de+a!os
seleccionados el ite! p#evio al ($e se eli!ino, si po# cas$alidad es el p#i!e#o
entonces de+a!os seleccionado el ite! ($e to!o s$ l$'a# . B$eno si data es ?
es po#($e no se eli!ino el #e'ist#o y e!iti!os n$est#a adve#tencia.
data'#id.add&ventistene#>chan'e>,seleccion0Q$nction seleccion ca!po)elected0L idt:t.te:tO ca!po)elected.ta#'et.selectedGte!.idQ no!#et:t.te:tOca!po)elected.ta#'et.selectedGte!.no!#eQ co!enta#iost:t.te:tOca!po)elected.ta#'et.selectedGte!.co!enta#iosQR
A($i aadi!os $n listene# al data'#id, ($e nos indica#6 c$ando el $s$a#io este
seleccionando $n ite! y as- pode# asi'na# los valo#es del ite! seleccionado los
e:tGnp$t co##espondientes.
va# allic%"+ect O new "+ect0Qva# accionC$!e#Qallic%.clic% O $nction oton0L
switchoton.ta#'et0L
8/19/2019 Bases de Datos Con Flash y AMFPHP
11/15
case tnons$lta#se#vicio.cons$lta0Q
t#ace>cons$lta#>0Q#ea%Q
case tnGnse#ta#accion O 1Q
idt:t.te:tO>^^>Q p#e'$ntat:t.te:tO>\Desea inse#ta# este #e'ist#oK>Q no!#et:t.te:tO>>Q co!enta#iost:t.te:tO>>Q no!#et:t.editaleOt#$eQ co!enta#iost:t.editaleOt#$eQ
!ost#a#o!ponentest#$e0Q
#ea%Q case
tnModi/ca#accion O 2Q p#e'$ntat:t.te:tO>\Desea !odi/ca# este #e'ist#oK>Q no!#et:t.editaleOt#$eQ co!enta#iost:t.editaleOt#$eQ !ost#a#o!ponentest#$e0Q
#ea%Q case tn&li!ina#
accion O 3Qp#e'$ntat:t.te:tO>\Desea eli!ina# este #e'ist#oK>Q
no!#et:t.editaleOalseQ
co!enta#iost:t.editaleOalseQ !ost#a#o!ponentest#$e0Q
#ea%Q case tn)i switchaccion0L case 1
se#vicio.inse#ta#escapeno!#et:t.te:t0,escapeco!enta#iost:t.te:t00Q
t#ace>con/#!o inse#ta#>0Q #ea%Q case 2 UU!odi/ca# id, no!#e, co!enta#ios
se#vicio.!odi/ca#idt:t.te:t,escapeno!#et:t.te:t0,escapeco!enta#iost:t.te:t00Q
t#ace >con/#!o !odi/ca#>0Q #ea%Q case 3 se#vicio.eli!ina#idt:t.te:t0Q
#ea%Q R
8/19/2019 Bases de Datos Con Flash y AMFPHP
12/15
#ea%Q
case tnCo !ost#a#o!ponentesalse0Q idt:t.te:t O data'#id.selectedGte!.idQ
no!#et:t.te:t O data'#id.selectedGte!.no!#eQ co!enta#iost:t.te:t Odata'#id.selectedGte!.co!enta#iosQ
!odi/ca#.enaledOeli!ina#.enaledOt#$eQ
#ea%Q RRtnons$lta#.add&ventistene#>clic%>,allic%0QtnGnse#ta#.add&ventistene#>clic%>,allic%0QtnModi/ca#.add&ventistene#>clic%>,allic%0Q
tn&li!ina#.add&ventistene#
>clic%>
,allic%0Qtn)i.add&ventistene#>clic%>,allic%0QtnCo.add&ventistene#>clic%>,allic%0Q
a va#iale$n o+eto0 alClic1 se#6 pa#a aadi#le $n listene# a todos los otones
y as- pode# sae# ($e oton se ha p$lsado, y la va#iale accion es pa#a sae#
($e oton se p$lso y ($e necesite $na con/#!aci4n po#($e se va alte#a# la
ase de datos, po# s$p$esto estos otones se#-an los de inse#ta#tnGnse#ta#0,
!odi/ca#tnModi/ca#0 y eli!ina# tn&li!ina#0 .
@na desc#ipcion !6s detallada de esta $nci4n
Boton&ombre de%nstancia'
Descripción
"onsultar&btn"onsultar'
• Gnvoca al !*todo cons$lta delse#vicio.
%nsertar&btn%nsertar'
• e asi'na a la va#iale 1 ($e se#6co!o este se identi/($e en lacon/#!aci4n.
• e asi'na a p#e'$ntat:t la p#e'$ntaap#opiada.
• Fo#!atea los e:tGnp$t, a idt:t leasi'na ^^ po#($e este dato no lopod#6 asi'na# el $s$a#io pa#a evita#e##o#es al intenta# de in'#esa# $n idya e:istente, a los e:tinp$ts nombrett ycomentariost t los o##a y les dice ($e se p$edenedita# asi'n6ndole true a lap#opiedadeditable.
Modi-car&btnModi-car'
• e asi'na a la va#iale 2 ($e se#6co!o este se identi/($e en la
con/#!aci4n.• e asi'na a preguntatt la p#e'$nta
8/19/2019 Bases de Datos Con Flash y AMFPHP
13/15
ap#opiada.• a p#opiedad editable de los
e:tGnp$t nombrett y comentariost t le asi'na!os t#$e, al i'$al co!ohace!os en inse#ta#, pa#a ($e el
$s$a#io lo p$eda edita#.
$liminar&btn$liminar'
• e asi'na a la va#iale 3 ($e se#6co!o este se identi/($e en lacon/#!aci4n.
• e asi'na a preguntatt la p#e'$ntaap#opiada.
• os e:tGnp$ts nombret ty comentariostt no se pod#6n edita#a($-, po# lo tanto lap#opiedadeditable leasi'na!os &alse$
Si &btnSi'
• Se#i/ca el valo# de la va#iale acci4npa#a sae# ($e acci4n se va #eali;a#,dependiendo de este valo#invoca#e!os al !*todoco##espondiente, po# e+e!plo, si esi'$al a 1 invoca#e!os al !*todoinse#ta# de n$est#o se#vicio.
o &btno'
• A($i cancela!os la acci4n y hayal'o pa#tic$la# ($e si el oton ($epidi4 la con/#!aci4n $e inse#ta#entonces el e:tGnp$t idt:t ($edo
co##$pto, po# esto necesita!osvolve#le asi'na# los valo#es del ite!seleccionado en el datagrid y as-evita!os ($e se e+ec$te $na acci4nindeida, po# e+e!plo, $na!odi/caci4n con $n id i'$al ^^.
B$eno aho#a hay $na l-nea ($e se ve-a !$cho en los c4di'os p#evios la
demostrarComponentes, p$es esta es $na $nci4n ($e dependiendo del valo#
del pa#6!et#o pond#6 visile o no visile los e:tGnp$t y los otones de
con/#!aciontn)i y tnCo0, de hailita# o deshailita# el data'#id y los otones
de las cons$ltas, en tal caso de ($e se est* espe#ando la con/#!aci4n pa#a
evita# en#edos ent#e ca!ios de opciones y valo#es co##$ptos en los e:tinp$ts
pa#a envia# a los se#vicios, la a!osa $nci4n es esta
$nction !ost#a#o!ponentesooleanoBoolean0L data'#id.enaledO]ooleanoQ tnons$lta#.enaledO]ooleanoQ tnGnse#ta#.enaledO]ooleanoQ tn&li!ina#.enaledO]ooleanoQ tnModi/ca#.enaledO]ooleanoQ caece#at:t. 9visileOooleanoQ
idt:t. 9visile O ooleanoQ no!#et:t. 9visile O ooleanoQ
8/19/2019 Bases de Datos Con Flash y AMFPHP
14/15
co!enta#iost:t. 9visile O ooleanoQ p#e'$ntat:t. 9visile O ooleanoQ tn)i. 9visileOooleanoQ tnCo. 9visileOooleanoQR
Aho#a pa#a te#!ina# el e+e!plo, invoca!os a mostrarComponentes con alse
pa#a ($e no sea vean al inicio de la pe($ea aplicaci4n los e:tGnp$ts ni los
otones de con/#!aci4n hasta ($e no se p$lse $na opci4n ($e lo #e($ie#a,
o#;a#e!os a ($e se ha'a $na cons$lta pa#a el $s$a#io vea los datos de la ase
de datos, cla#o si los hay, deshailita!os los otones de las acciones inse#ta#,
!odi/ca# y eli!ina#0 pa#a ($e el $s$a#io no e+ec$te nin'$na de ellas !ient#as
hace!os la cons$lta y al'o !$y i!po#tante al e:tGnp$t idtt lo deshailita!os
pa#a ($e no se p$eda edita# n$nca pa#a evita# e##o#es, con estas l-neas
lo'#a!os todo esto.
!ost#a#o!ponentesalse0Qestadot:t.a$to)i;eO>let>Qestadot:t.te:tO>ons$ltando>QtnGnse#ta#.enaledOalseQtn&li!ina#.enaledOalseQtnModi/ca#.enaledOalseQidt:t.enaledOalseQse#vicio.cons$lta0Q
"onclusión
Hay $na cosa ($e hay ($e tene# !$y en c$enta, el hecho de sae# desa##olla#
con Flash e!otin' no ($ie#e deci# ($e nos dea!os de olvida# de la clase
oadSa#s de Flash, esta Zlti!a es $na !$y $ena opci4n pa#a aplicaciones ($e
no i!pli($en $n '#an cantidad de #e'ist#os en la Base de Datos, aplicaciones
!$lti$s$a#ios, ent#e ot#as cosas, po# e+e!plo, se#-a as$#do $tili;a# Flash
e!otin' solo pa#a hace# $n contado# de visitas o el sc#ipt de c$antos $s$a#ios
hay conectados en $n site, es deci#, dee!os anali;a# !$y ien el p#oyecto
antes de e!pe;a# a desa##olla#la con $na he##a!ienta solo po#($e $na es !e+o#
($e ot#a, en tie!po de #esp$esta y !anip$laci4n de datos, etc.
&spe#o ($e hayan entendido todo y sino no est6 de!6s volve# a lee#, intente
hace#lo con $n len'$a+e no t*cnico pa#a la co!p#ensi4n de todos.
8/19/2019 Bases de Datos Con Flash y AMFPHP
15/15
actionscript am.p/p basesdedatos as/ msql p/p remoting
$n3#a un comentario &0'
e p$ede inte#esa#
• )esiones en Flash e!otin', PHP y AMFPHP
• $to#ial de instalaci4n de la)e#ve#Q se#vido# !$lti$s$a#io
• )iste!a de estad-sticas con Flash e!otin'
• @so de Flash e!otin', PHP y My) con clases
• la)e#ve# ee#encia del p#o'#a!ado#
• o!o c#ea# t$ p#opio se#vicio de VH"G) con Flash y AMFPHP
• Mane+a# AMFPHP acil con $na clase en Actionsc#ipt
• o'in en Flash con $s$a#io y cont#asea
• o!o c#ea# $n chat en Flash
• &nvia# !ail HM con FlashPHP, $scado# de do!inio y plantillas
http://www.cristalab.com/tags/actionscript/http://www.cristalab.com/tags/amfphp/http://www.cristalab.com/tags/amfphp/http://www.cristalab.com/tags/bases_de_datos/http://www.cristalab.com/tags/flash/http://www.cristalab.com/tags/mysql/http://www.cristalab.com/tags/mysql/http://www.cristalab.com/tags/php/http://www.cristalab.com/tags/php/http://www.cristalab.com/tags/remoting/http://www.cristalab.com/tutoriales/bases-de-datos-con-flash-y-amfphp-c117l/#publicarhttp://www.cristalab.com/tutoriales/sesiones-en-flash-remoting-php-y-amfphp-c145l/http://www.cristalab.com/tutoriales/tutorial-de-instalacion-de-clabserver-servidor-multiusuario-c104l/http://www.cristalab.com/tutoriales/sistema-de-estadisticas-con-flash-remoting-c139l/http://www.cristalab.com/tutoriales/uso-de-flash-remoting-php-y-mysql-con-clases-c171l/http://www.cristalab.com/tutoriales/clabserver-referencia-del-programador-c107l/http://www.cristalab.com/tutoriales/como-crear-tu-propio-servicio-de-whois-con-flash-y-amfphp-c163l/http://www.cristalab.com/tutoriales/manejar-amfphp-facil-con-una-clase-en-actionscript-c136l/http://www.cristalab.com/tutoriales/login-en-flash-con-usuario-y-contrasena-c157l/http://www.cristalab.com/tutoriales/como-crear-un-chat-en-flash-c105l/http://www.cristalab.com/tutoriales/enviar-mail-html-con-flash-php-buscador-de-dominio-y-plantillas-c200l/http://www.cristalab.com/tags/actionscript/http://www.cristalab.com/tags/amfphp/http://www.cristalab.com/tags/bases_de_datos/http://www.cristalab.com/tags/flash/http://www.cristalab.com/tags/mysql/http://www.cristalab.com/tags/php/http://www.cristalab.com/tags/remoting/http://www.cristalab.com/tutoriales/bases-de-datos-con-flash-y-amfphp-c117l/#publicarhttp://www.cristalab.com/tutoriales/sesiones-en-flash-remoting-php-y-amfphp-c145l/http://www.cristalab.com/tutoriales/tutorial-de-instalacion-de-clabserver-servidor-multiusuario-c104l/http://www.cristalab.com/tutoriales/sistema-de-estadisticas-con-flash-remoting-c139l/http://www.cristalab.com/tutoriales/uso-de-flash-remoting-php-y-mysql-con-clases-c171l/http://www.cristalab.com/tutoriales/clabserver-referencia-del-programador-c107l/http://www.cristalab.com/tutoriales/como-crear-tu-propio-servicio-de-whois-con-flash-y-amfphp-c163l/http://www.cristalab.com/tutoriales/manejar-amfphp-facil-con-una-clase-en-actionscript-c136l/http://www.cristalab.com/tutoriales/login-en-flash-con-usuario-y-contrasena-c157l/http://www.cristalab.com/tutoriales/como-crear-un-chat-en-flash-c105l/http://www.cristalab.com/tutoriales/enviar-mail-html-con-flash-php-buscador-de-dominio-y-plantillas-c200l/Top Related