Tengo el siguiente problema:
Tengo un menu, este tiene 2 propiedades 'idCat' y 'texto', cuando doy clic en una opcion me genera un evento el cual lo capturo con su respectiva funcion, depues obtengo la propiedad idCat, la cual uso hacer una llamada a la base de datos, hasta aqui todo va muy bien.
El problema consiste en que cuando yo paso como parametro el string obtenido de 'idCat' a la funcion que se comunica con el servidor para hacer la consulta a la BD, el php encargado de hacer la consulta me dice que no encontro nada, en cambio, si paso como parametro un string directo (o sea, sin obtenerlo de un evento, ni de una variable) tal cual, si me regresa contenido de la bd.
Les explico con mi codigo:
El codigo de mi menu:
Código :
<s:ButtonBar skinClass="View.Skins.btnBar" width="161" x="2" y="40" click="clic(event)" > <s:layout> <s:VerticalLayout/> </s:layout> <s:ArrayCollection> <s:source> <fx:Object idCat = "alergologia" texto = "*Alergología" /> <fx:Object idCat = "anestesiologia" texto = "*Anestesiología" /> <fx:Object idCat = "angiologia" texto = "*Angiología" /> <fx:Object idCat = "cardiologia" texto = "*Cardiología" /> <fx:Object idCat = "cirugia" texto = "*Cirugía" /> ... </s:source> </s:ArrayCollection> </s:ButtonBar>
La funcion que captura el evento click:
Código :
private function clic(e:MouseEvent):void { parentApplication.contenido.selectedIndex = 1; parentApplication.CATEGORIA = e.target.data.texto.replace("*",""); buscarPost(e.target.data.idCat); }
La funcion que se conecta con el servidor para la consulta a la BD (Utilizo el zend framework incluido en FB 4 para la conexion con PHP):
Código :
protected function buscarPost(e:Object):void { buscarPostResult.token = consultas.buscarPost(e); }
Ahora les explico con detalle:
Cuando hago esto: "buscarPost(e.target.data.idCat);" la bd no me regresa nada.
Cuando hago esto: "buscarPost("cardiologia");" la bd Si me regresa resultados.
Esta es la funcion de PHP que uso para conectarme hacer la consulta:
Código :
public function buscarPost($e){ $bd = new MySQL(); $consulta = $bd->consulta("SELECT * FROM posts WHERE categoria = ' ".$e." '"); $numFilas = $bd->num_rows($consulta); if($numFilas > 0) { while ($row = $bd->fetch_array($consulta)) { $datos= $row; } return $datos; }else return "NO_POSTS"; $bd->cerrarConexion(); }
Datos adicionales:
Utilizo cotejamiento en la BD: utf8_unicode_ci
Version de PHP: 5.2.9
mmmm... ya no se que más puede influir en esto!
Saludos y gracias de antemano.