Comunidad de diseño web y desarrollo en internet online

Tuto AMFPHP BD, mostrar sólo mensajes de un usuario.

Citar            
MensajeEscrito el 29 Oct 2007 06:53 pm
Abrí un post pidiendo pistas, pero creo que igual no me expliqué,
y era complicado responder. Lo siento, no sé cerrar el otro post.
Plantearé mi pregunta de una manera más simple:
Necesito una pista sobre cómo podría modificar el ejemplo
del tuto AMFPHP BD de modo que sólo muestre los comentarios
de un usuario, y no muestre el resto.
El servicio sería igual y flash recibe la BD completa,
pero sólo muestra en el Datagrid los comentarios que ha
introducido el usuario Fulanito

Se me ocurre esta manera:
Hacer una función que elimine (del DGrid, no de la BD) las
columnas que no sean de Fulanito.
Podría ser con removeItemAt();
datagrid.removeItemAt(1);
Pero así quito el item de la columna.
Pero no sé si en el paréntesis se puede meter una variable,
en vez de un número de índice, para hacer la función.
Se podría hacer así?
En ese caso ¿qué otro tipo de parámetros puedo meter en el parentesis de
removeItemAt();?
O no se puede así y hay que meter un DataSet?
Por favor, dadme una pistilla, no hace falta código, sólo una pista que me oriente.
Muchas gracias a todos!
^^

Por marxz

24 de clabLevel



 

Madrid

msie7
Citar            
MensajeEscrito el 29 Oct 2007 08:11 pm
Soy Maxz de nuevo!
También estoy probando con:

Código :

proveedor.filtered = true;
         proveedor.filterFunc = function(item:Object):Boolean  {
            // Filtrar Fulanito
                                                                return (item.usuario = "Fulanito");
         };

Pero no funciona, y me da que por ahí puede ser más fácil...

Por marxz

24 de clabLevel



 

Madrid

msie7
Citar            
MensajeEscrito el 30 Oct 2007 04:24 pm
He metido un Dataset, lo he llamado ds
He metido esta función después de la función proveedor.

Código :

///////////////////////Función filterFunc //////////////////////
         ds.items = proveedor;
         ds.dataProvider = proveedor;
         ds.filtered = true;
         ds.filterFunc = function(filtrado:Object):Boolean  {
            trace("filtrando");
            // Filtrar mensajes de usuario Fulanito. 
            return (filtrado.usuario == "Fulanito");
         };
         //
         datagrid.dataProvider = ds.dataProvider;

Ahora funciona, filtra y sigue insertando y eliminando bien.
Pero cuando modifica, no refleja los cambios en el Datagrid, aunque sí modifica la BD.
Y cuando realizas de nuevo la consulta, deja de filtrar, aunque pasa por la función.

Alguna pista? Por favor!

Por marxz

24 de clabLevel



 

Madrid

msie7
Citar            
MensajeEscrito el 16 Jul 2008 11:13 pm
buenas.
hace poco hice el tutorial de maikel (gracias maikel) que se encuentra en http://www.cristalab.com/tutoriales/117/bases-de-datos-con-flash-y-amfphp.html
Y me funciona perfectamente pero me preguntaba como podria agregar un filtro, una opcion seria el filterfunction que comentas.

y la otra creo que podria ser otra funcion en el servicio "misquerys" como la de consultar:

Código :

"consulta" => array (   
"description" => "consulta n campos",
"access" => "remote"


pero con nuevos parametros, algo asi

Código :

"filtrar" => array (   
"description" => "consulta n campos",
"access" => "remote"
"arguments" => array("campo") 


y en donde va la sentencia query

Código :

function consulta (){
$sql = "SELECT * FROM prueba ORDER by id";
return $this->query($sql,0);


agregariamos algo asi:

Código :

function filtrar ($campotxt){
$campotxt = utf8_encode($campotxt);
$sql = "SELECT * FROM prueba WHERE `campo` = ".$campotxt." ORDER by id";
return $this->query($sql,0);}

donde "campo" es la variable de busqueda que enviariamos desde flash

ahora el codigo (AS) creo seria un poco mas complicado, pero si alguien puede echar un poco de luz sobre este asunto se lo agradeceria infinitamente.

Por ironc

0 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.