Hace tiempo que no escribo por aca, ruego mil disculpas por eso.
Mi problema es el siguiente: estoy creando una pagina en la que debe llevar un buscador de datos. Estos datos se encuentran en una base de datos MySQL. La lista total de los datos la pude hacer, el problema es que trato de pasar una variable de busqueda a PHP para que haga la consulta, pero no logro mostrarla en flash. No se si me explico, les dejo los codigos para ver si esta un poco mas claro, aunque es medio desprolijo:
El codigo en flash es este:
Código ActionScript :
var xml:XML = new XML(); var numClips:Number; var cadaRes:Array; var cadaMar:Array; var dirY:Number = resulta_mc._y; var i:Number; var envio_lv:LoadVars = new LoadVars(); var recibe_lv:LoadVars = new LoadVars(); buscar_mc.onPress = function() { envio_lv.busca = busca_txt.text; envio_lv.sendAndLoad("bus_prod_local.php",envio_lv,"POST"); }; envio_lv.onLoad = function(correcto) { if (correcto != undefined) { xml.ignoreWhite = true; xml.onLoad = alCargar; xml.load("bus_prod_local.php"); } else { busca_txt.text = "No enviado"; } }; function alCargar() { numClips = xml.firstChild.childNodes.length; //trace(numClips); cadaRes = new Array(numClips); cadaMar = new Array(numClips); Duplica(); } function Duplica() { for (i=0; i<numClips; i++) { clips = resulta_mc.duplicateMovieClip("d", this.getNextHighestDepth()); clips._y = (clips._height+5)*i+dirY; cadaRes[i] = xml.firstChild.childNodes[i].childNodes[0].attributes.id; cadaMar[i] = xml.firstChild.childNodes[i].childNodes[1].attributes.marca; clips.datos_txt.text = cadaRes[i]; clips.marca_txt.text = cadaMar[i]; } }
Como se puede ver, necesito presentar los datos en formato XML, asi hice la salida desde PHP. Lo hago asi por comodidad propia porque ya he leido varias veces xml's desde flash y me resulta mas sencillo duplicar los clips que mostraran los resultados de la busqueda, ademas habia leido por ahi que para la transmision de mucha cantidad de datos era el formato mas adecuado.
Aqui esta el PHP que se encarga de este trabajo:
Código PHP :
<?PHP $link = mysql_connect("localhost","root",""); mysql_select_db("ngh"); $busca_php = $_POST["busca"]; $sql = "SELECT * FROM TMP_Productos WHERE id_productos='$busca_php'"; $res = mysql_query($sql); $num = mysql_num_rows($res); ?> <?PHP if ($num > 0){ echo "<?xml version='1.0' encoding='UTF-8'?>\n"; echo "<datos>\n"; while ($rows = mysql_fetch_assoc($res)) { echo "<productos>\n"; echo "<producto id='".$rows['id_productos']."'/>\n"; echo "<producto marca='".$rows['nombre_marca_comercial']."'/>\n"; echo "</productos>\n"; } echo "</datos>\n"; } mysql_close($link); ?>
La base de datos que tengo de ejemplo consta solo de dos campos y unos 20 registros. Por mas que he buscado no logro hacer que la variable desde flash se pase a PHP. No tengo idea que esta mal en el codigo.
Les ruego, si pueden, tomarse unos minutos para revisarlo para ver si pueden ayudarme con este codigo. Espero se haya entendido lo que quiero hacer, sino por favor no dejen de preguntarme las dudas.
El xml funciona con un listado completo con AS2, el php tambien pero por separado. Juntos.... no quieren.....
Muchisimas gracias
STARLANCER