Comunidad de diseño web y desarrollo en internet online

Pasar el valor de un DateField a un archivo PHP con Flex 3

Citar            
MensajeEscrito el 13 Mar 2008 12:43 am
Hola a todos, ese es mi primer post y espero no sea el ultimo, veran lo que estoy tratando de hacer es consultar una base de datos (postgres) por medio de una aplicacion flex, estoy tratando de consultar en base a un rango que el usuario elija y es ahi donde no me sale, por que cuando yo defino los datos, como en mi ejemplo que puse no hay problema, pero al tratar de elegir las fechas de inicio y fin de la consulta no me sale nada, como pueden ver en la imagen http://bp3.blogger.com/_8FSqsDcCA-Y/R9h3KM3xBfI/AAAAAAAAACM/OrobfkqKE7o/s1600-h/Test.JPG:


Codigo Flex

Código :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" height="656">
   <mx:HTTPService id="userRequest" url="http://localhost/invtry/Ventas.php" method="POST" showBusyCursor="true"/>
    <mx:Panel id="Panel66" width="631" height="527" layout="absolute" title="Ventas del dia de Hoy" horizontalCenter="0" verticalCenter="-9">
      <mx:Form x="10" y="10" width="591" height="49">
            <mx:FormItem width="100%">
                  <mx:Grid width="100%">
                        <mx:GridRow width="100%">
                              <mx:GridItem width="25%">
                                    <mx:Label text="Fecha Inicio:"/>
                              </mx:GridItem>
                              <mx:GridItem width="25%">
                                    <mx:DateField  id="fechaini"/>
                              </mx:GridItem>
                              <mx:GridItem width="25%">
                                    <mx:Label text="Fecha Fin:"/>
                              </mx:GridItem>
                              <mx:GridItem width="25%">
                                    <mx:DateField id="fechafin"/>
                              </mx:GridItem>
                        </mx:GridRow>
                  </mx:Grid>
            </mx:FormItem>
            </mx:Form>
      <mx:DataGrid id="dgUserRequest" dataProvider="{userRequest.lastResult.Ventas.Sucursal}" width="591" height="357" y="91" x="10">
         <mx:columns>
              <mx:DataGridColumn headerText="Sucursal" dataField="SucDesc" />
               <mx:DataGridColumn headerText="Venta" dataField="Venta" />
              <mx:DataGridColumn headerText="Dato de Prueba" dataField="Prueba" />
         </mx:columns>
      </mx:DataGrid>
      <mx:FormItem y="456" x="27">
      <mx:Grid width="100%" horizontalAlign="center" id="buttonsGrid0">
         <mx:GridRow width="100%" height="100%" horizontalAlign="center" id="gridrow0">
            <mx:GridItem width="100%" height="100%" horizontalAlign="center">
               <mx:Button label="Consultar" id="btnConsultar0" click="userRequest.send();"/>
            </mx:GridItem>
            <mx:GridItem width="100%" height="100%" horizontalAlign="center">
               <mx:Button label="Insertar" id="btnInsertar0"/>
            </mx:GridItem>
            <mx:GridItem width="100%" height="100%" horizontalAlign="center">
               <mx:Button label="Modificar" id="btnModificar0"/>
            </mx:GridItem>
            <mx:GridItem width="100%" height="100%" horizontalAlign="center">
               <mx:Button label="Eliminar" id="btnEliminar0"/>
            </mx:GridItem>
         </mx:GridRow>
      </mx:Grid>
      </mx:FormItem>
   </mx:Panel>   
</mx:Application>


Codigo PHP

Código :

<?
   require('functions.php');
   require('functions3.php');
   require('config.php');
   $cadcon = "dbname=$database user=$username password=$password host=$host";   
   
   $FechaIni=$_POST["fechaini"];
   $FechaFin=$_POST["fechafin"];

   $Ventas = VentaFecha($cadcon, "2008-01-01 04:00:00", "2008-01-02 03:59:59", 0,1);   
   $CantVentas = pg_numrows($Ventas);      //Obtengo el total de las ventas
                     
      /*GUARDO TODOS LOS DATOS EN UNA MATRIZ DE DATOS*/
   //Almaceno las ventas de hoy
   for($Cont=0; $Cont<$CantVentas; $Cont++)
   {
      $SucActual=pg_result($Ventas, $Cont, 0);   //El id de la sucursal
      $Datos[$SucActual]["Hoy"]=pg_result($Ventas, $Cont, 1);   //Almaceno la venta
   }

   $Sucursales=ObtieneSucursales($cadcon, 0, true);   //Obtengo todas las sucursales incluyendo la de pruebas
   $CantSuc=pg_numrows($Sucursales);      //La cantidad de sucursales

   $Cadena = "<Ventas>\n";
   for($Cont=0; $Cont < $CantSuc; $Cont++)         //Recorro todas las sucursales
   { 
      $Cadena .= "\t<Sucursal>\n";
      $SucActual=pg_result($Sucursales, $Cont, 0);   //El id de la sucursal
      $SucDesc = obten_desc_loc( $cadcon, $SucActual);
      $Cadena .= "\t\t<SucDesc>$SucDesc</SucDesc>\n";   //Sucursal
      $Cadena .= "\t\t<Venta>" . number_format($Datos[$SucActual]["Hoy"], 2, '.', ',' ) . "</Venta>\n";   //Ventas de hoy
      $Cadena .= "\t\t<Prueba>$FechaIni-$FechaFin</Prueba>\n";   //Datos de Prueba
      $Cadena .= "\t</Sucursal>\n";   
   }
   $Cadena .= "</Ventas>";
   print ($Cadena);   
?>
[/code]

Por sergestux

49 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Mar 2008 02:06 am
Prueba mandando los datos en el HTTPService:

Código :

<mx:Script>
<![CDATA[
  function getData(){
     var params:Object = {};
     params.fechaini = fechaini.selectedDate
     params.fechafin= fechafin.selectedDate
     userRequest.send(params)
  }
]]>
</mx:Script>
<mx:Button label="Consultar" id="btnConsultar0" click="getData();"/>


Luego ojo con el formato con que manda las fechas y el formato que necesitas para tu query

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Mar 2008 02:52 am
Gracias por la respuesta, ahorita ya me voy a descansar, manana lo checho y comento

Por sergestux

49 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Mar 2008 06:31 pm
Gracias por el aporte me quedo perfecto, y tenias razón con lo de las fechas pasadas, como no me habían llegado las fechas al php, no me había quedado claro pero le agregue una función para formatear las fechas:

Código :

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" height="656" creationComplete="Inicializar();">
<mx:DateFormatter id="formateador" formatString="YYYY-MM-DD" />
<mx:Script>
<![CDATA[
   function Inicializar()
   {
      /* fechaini.automationValue; Por aca seria el codigo para inicializar las fechas*/
   }

   function FormateaFecha(fecha:Date):String
    {
       return formateador.format(fecha);
    }
 
  function getData(){
     var params:Object = {};
     params.fechaini = FormateaFecha(fechaini.selectedDate);
     params.fechafin= FormateaFecha(fechafin.selectedDate);
     userRequest.send(params)
  }
]]>
</mx:Script>

Ahora lo que intento hacer es dejar por default la fecha actual, pero ni idea de como podría ser

Por sergestux

49 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Mar 2008 06:44 pm
Dado que ya tienes la función para formatear en PHP, chequea antes del envío que hayan elegido alguna fecha, y sino manda new Date(), es decir la fecha actual por defecto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Mar 2008 07:23 pm
Muchas gracias, parece que ya hace lo que yo deseaba, que era ponerle la fecha actual por default a los DataField con esta funcion:

Código :


   function Inicializar()
   {
      fechaini.text=FormateaFecha(new Date());
      fechafin.text=FormateaFecha(new Date());
   }

ahora me salta otra duda, de las mas tontas supongo yo, esa fecha, es la fecha del cliente (donde se llame al flash) o del servidor apache (en caso de que este en otra maquina)?... si se supone que es como javascript, entonces seria la fecha de la maquina del cliente, o sea que para hacer que tome la fecha donde esta el servidor apache, tendria que hacer un php, que me genere ese dato y tomarlo del lado del cliente con action scrip...

Perdón por tanta duda, pero como estoy empezando todo se me hace tan confuso, creo que me leere un buen manual de action script por que el compilador me manda una serie de advertencias debido a mi falta de conocimientos

Por sergestux

49 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Mar 2008 08:20 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Abr 2009 04:49 pm
Hola miro que tienes buena experiencia. Podrías ayudarme co lo siguiente por favor?

Por cuestiones de trabajo me gustaría crear un sistema de registro de horas (entradas y salidas) en el cual cada trabajador marque virtualmente su horas.
Supongo debo usar MySQL, PHP y por supuesto FLex y alguna función getDate o now() si existe. Podrías ayudarme con mi tarea? Yo necesito un formulario donde el usuario pone su código y hace clic en aceptar y automáticamente se inserta la hora de entrada o salidad de ese usuario con la fecha del servidor.
y Un DataGrid donde el jefe o los usuarios pueden ver sus horas de entrada y salida a la semana y un total de horas por usuario.

Agradecería todo tipo de ayuda, tutorial, ejemplo, vícunlo, etc. Aprendo rápido.

Gracias! :lol:

Por nhack

15 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Abr 2009 05:23 pm
Abre un POST nuevo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Abr 2009 05:30 pm
Gracias, también lo hice, disculpe.

Por nhack

15 de clabLevel



Genero:Masculino  

firefox

 

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