Bases de Datos Con Flash y AMFPHP

Embed Size (px)

Citation preview

  • 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/