Foros del Web » Creando para Internet » Flash y Actionscript »

Flash, xml y PHP

Estas en el tema de Flash, xml y PHP en el foro de Flash y Actionscript en Foros del Web. Buenos dias, tengo un problemita necesito enviar por POST un Id desde flash, este ID lo carga un php que emula un XML y asu ...
  #1 (permalink)  
Antiguo 10/08/2009, 10:06
 
Fecha de Ingreso: agosto-2009
Mensajes: 1
Antigüedad: 15 años, 3 meses
Puntos: 0
Flash, xml y PHP

Buenos dias, tengo un problemita necesito enviar por POST un Id desde flash, este ID lo carga un php que emula un XML y asu vez el flash toma la info de este XML (php) y lo monta en el menu. lo que necesito es que cuando le de click a cualquier bot del menu este me envie el ID asignado por la base de Datos a otro XML (php) y me carge la informacion necesaria.

Codigo Falsh


Código AS:
Ver original
  1. function addButtons()
  2. {
  3. var stuff2 = new Array();
  4. var named2 = new Array();
  5. var windows2 = new Array();
  6. var id2 = new Array();
  7. var idname = new Array();
  8. var _loc4 = holder.buttons.length;
  9. for (i = 0; i < _loc4; i++)
  10. {
  11. btn = buttons.attachMovie("menu", "menu" + i, i);
  12. btn.name = i;
  13. buttons["menu" + i]._x = i * buttons["menu" + i]._width;
  14. buttons["menu" + i].name = i;
  15. btnsArray.push(btn);
  16. gs.TweenLite.to(buttons["menu" + i].parentButton.parentBG, 0, {tint: xml.firstChild.attributes.mainButtonColor});
  17. btn.itemOverColor = holder.buttons[i].attributes.itemRollOverColor;
  18. btn.itemColor = holder.buttons[i].attributes.itemColor;
  19. btn.main = holder.main.attributes.subButtonColor;
  20. btn.parentButton.name = i;
  21. btn.parentButton.nameTXT.text = holder.buttons[i].attributes.title;
  22. btn.parentButton.nameTXT.textColor = btn.itemColor;
  23. btn.parentButton.onRollOver = function ()
  24. {
  25. this.nameTXT.textColor = xml.firstChild.childNodes[this.name].attributes.itemRollOverColor;
  26. };
  27. btn.parentButton.onRollOut = function ()
  28. {
  29. this.nameTXT.textColor = btn.itemColor;
  30. };
  31. btn.parentButton.onPress = function ()
  32. {
  33. if (named2[this.name] == "link")
  34. {
  35. getURL(stuff2[this.name], windows2[this.name]);
  36. } // end if
  37. if (id2[this.name] == "id")
  38. {
  39. xml.send("xml/onlyinfo.php", xml, "POST");
  40. } // end if
  41. if (named2[this.name] == "swf")
  42. {
  43. _root.pagesHolder.loadMovie(stuff2[this.name]);
  44. } // end if
  45. if (named2[this.name] == "goto")
  46. {
  47. _root.gotoAndPlay(stuff2[this.name]);
  48. } // end if
  49. };
  50. if (holder.buttons[i].attributes.link != undefined)
  51. {
  52. named2.push("link");
  53. stuff2.push(holder.buttons[i].attributes.link);
  54. windows2.push(holder.buttons[i].attributes.windows);
  55. }
  56. else if (holder.buttons[i].attributes.id != undefined)
  57. {
  58. idname.push("id");
  59. id2.push(holder.buttons[i].attributes.id);
  60. }
  61. else if (holder.buttons[i].attributes.swf != undefined)
  62. {
  63. named2.push("swf");
  64. stuff2.push(holder.buttons[i].attributes.swf);
  65. }
  66. else if (holder.buttons[i].attributes.goto != undefined)
  67. {
  68. named2.push("goto");
  69. stuff2.push(holder.buttons[i].attributes.goto);
  70. } // end else if
  71. btn.menuItems = new Array();
  72. btn.stuff = new Array();
  73. btn.named = new Array();
  74. btn.idn = new Array();
  75. btn.idname = new Array();
  76. btn.windows = new Array();
  77. for (j = 0; j < holder.buttons[i].childNodes.length; j++)
  78. {
  79. btn.menuItems.push(holder.buttons[i].childNodes[j].attributes.title);
  80. if (holder.buttons[i].childNodes[j].attributes.link != undefined)
  81. {
  82. btn.named.push("link");
  83. btn.stuff.push(holder.buttons[i].childNodes[j].attributes.link);
  84. btn.windows.push(holder.buttons[i].childNodes[j].attributes.windows);
  85. } // end if
  86. if (holder.buttons[i].childNodes[j].attributes.id != undefined)
  87. {
  88. btn.idn.push("id");
  89. btn.idname.push(holder.buttons[i].childNodes[j].attributes.id);
  90. } // end if
  91. if (holder.buttons[i].childNodes[j].attributes.swf != undefined)
  92. {
  93. btn.named.push("swf");
  94. btn.stuff.push(holder.buttons[i].childNodes[j].attributes.swf);
  95. } // end if
  96. if (holder.buttons[i].childNodes[j].attributes.goto != undefined)
  97. {
  98. btn.named.push("goto");
  99. btn.stuff.push(holder.buttons[i].childNodes[j].attributes.goto);
  100. } // end if
  101. } // end of for
  102. } // end of for
  103. } // End of the function
  104. function xmlLoad()
  105. {
  106. spacingBeforeMenu = xml.firstChild.attributes.spacingBeforeMenu;
  107. gs.TweenLite.to(blackBG, 0, {tint: xml.firstChild.attributes.barsColor});
  108. gs.TweenLite.to(btn.parentButton, 0, {tint: xml.firstChild.attributes.barsColor});
  109. gs.TweenLite.to(btn.parentButton, 2, {tint: xml.firstChild.childNodes[0].attributes.bgColor});
  110. gs.TweenLite.to(_root.mainBackground.mainBackgroundCover, 2, {tint: xml.firstChild.childNodes[0].attributes.bgColor});
  111. logoHolder._x = 0;
  112. logoHolder._y = 0;
  113. logoHolder.logoBG.loadMovie(xml.firstChild.attributes.logo);
  114. _root.pagesHolder.loadMovie(xml.firstChild.attributes.initialPage);
  115. buttons._x = cover._x + spacingBeforeMenu;
  116. buttons._y = cover._y;
  117. holder.buttons = xml.firstChild.childNodes;
  118. holder.main = xml.firstChild;
  119. horSpacing = Number(xml.firstChild.attributes.horSpacing);
  120. addButtons();
  121. verSpacing = Number(xml.firstChild.attributes.verSpacing);
  122. } // End of the function
  123. stop ();
  124. var xml = new XML();
  125. xml.System.useCodepage = true;
  126. xml.ignoreWhite = true;
  127. xml.load("xml/menu.php");
  128. xml.onLoad = xmlLoad;
  129. var spacingBeforeMenu;
  130. var holder = new MovieClip();
  131. buttons._x = 450;
  132. buttons._y = 90;
  133. var btnsArray = new Array();

este es mi codigo PHP que realiza la converción a XML y me carga perfectamente el Menu


Código PHP:
<?php
function conectar()
{
//echo phpinfo();
require('../adminis-cms/conf/configuracion.php');
if (!(
$enlaze=mysql_connect("$sql_host""$sql_usuario""$sql_pass")))
{
echo 
"Error conectando a la base de datos.";
exit();
}
if (!
mysql_select_db($sql_db,$enlaze))
{
echo 
"Error seleccionando la base de datos.";
exit();
}
return 
$enlaze;
}
$cone=conectar();
$sentencia "SELECT * FROM menu ORDER BY menu.id ASC";
$pregunta=mysql_query($sentencia,$cone);
//$inv='formulario';
if (!$pregunta)
{
die(
'No hay datos:' mysql_error());
}
else
{
$combo="<menu verSpacing='".(5)."' horSpacing='".(0)."' spacingBeforeMenu='".(0)."' textOver='".(0x00BBDD)."' subButtonColor='".(0x000000)."'>";
//$combo= $combo . "";
while ($res mysql_fetch_row($pregunta))
{
$combo.= "<item title='"$res[1] ."' itemColor='".(0x000000)."' itemRollOverColor='".(0xFFCD00)."' bgColor='".(0x00BBDD)."'>";
$sqlsubmenu "SELECT submenu.submenu, submenu.swf, submenu.id FROM submenu WHERE submenu.idmenu = '$res[0]'";
$consubmenu mysql_query($sqlsubmenu,$cone);
while (
$ressubmenu mysql_fetch_row($consubmenu))
{
$combo .= "<subitem title='"$ressubmenu[0]."' swf='"$ressubmenu[1]."' id='"$ressubmenu[2]."' />";
}
$combo.="</item>";

}
$combo.="</menu>";
}
header("Content-type:application/xml enswf=utf-8");
echo 
utf8_decode($combo);
?>

este es el resultado de la converción del php al Xml

Código HTML:
<menu verSpacing="5" horSpacing="0" spacingBeforeMenu="0" textOver="48093" subButtonColor="0">
<item title="Home" itemColor="0" itemRollOverColor="16764160" bgColor="48093"/>
<item title="Only Pet Shop" itemColor="0" itemRollOverColor="16764160" bgColor="48093">
<subitem title="Quienes Somos" swf="swf/onlyinfo.swf" id="1"/>
<subitem title="Que Hacemos" swf="swf/onlyinfo.swf" id="2"/>
</item>

<item title="Servicios" itemColor="0" itemRollOverColor="16764160" bgColor="48093">
<subitem title="Consulta Veterinar�a" swf="" id="3"/>
<subitem title="Perruquer�a" swf="" id="4"/>
<subitem title="Clases para Cachorros" swf="" id="5"/>
<subitem title="Venta de Mascotas" swf="" id="6"/>
<subitem title="Adiestramiento" swf="" id="7"/>
</item>

<item title="Boutique" itemColor="0" itemRollOverColor="16764160" bgColor="48093">
<subitem title="Prendas" swf="" id="8"/>
<subitem title="Juguetes" swf="" id="9"/>
<subitem title="Accesorios" swf="" id="10"/>
<subitem title="Alimentos" swf="" id="11"/>
<subitem title="Golosinas" swf="" id="12"/>
</item>

<item title="Razas" itemColor="0" itemRollOverColor="16764160" bgColor="48093">
<subitem title="Perros" swf="" id="13"/>
<subitem title="Gatos" swf="" id="14"/>
</item>

<item title="Contactenos" itemColor="0" itemRollOverColor="16764160" bgColor="48093">
<subitem title="Ubicaci�n" swf="" id="15"/>
<subitem title="Comentarios" swf="" id="16"/>
</item>
</menu> 
en las ramas del XML vemos el Atributo id="" es este atributo el que necesito enviar por post a otro php que emula un XML para que de esta manera tome la información correspondiente deacuerdo al ID de la base de datos

Código PHP:
<?php
require('../adminis-cms/conf/configuracion.php');
function 
conectar(){
//echo phpinfo();
require('../adminis-cms/conf/configuracion.php');
if (!(
$enlaze=mysql_connect("$sql_host""$sql_usuario""$sql_pass")))
{
echo 
"Error conectando a la base de datos.";
exit();
}
if (!
mysql_select_db($sql_db,$enlaze))
{
echo 
"Error seleccionando la base de datos.";
exit();
}
return 
$enlaze;
}
$cone=conectar();
$sentencia "SELECT * FROM cont WHERE cont.id = '".$_POST['idname']."'";
$pregunta=mysql_query($sentencia,$cone);
//$inv='formulario';
if (!$pregunta)
{
die(
'No hay datos:' mysql_error());
}
else
{
$res mysql_fetch_row($pregunta);
$foto "imagenes/contenido/temp/".$res[4];
$combo.= "<cont><cont_text id='"$res[0] ."' foto='"$foto ."'>"$res[3] ."</cont_text></cont>";
}
header("Content-type:application/xml enswf=utf-8");
echo 
utf8_decode($combo);
?>
de antemano muchas gracias por la ayuda que me puedan brindar

Hugo Aguilar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:21.