Comunidad de diseño web y desarrollo en internet online

Ayuda con amfphp, mysql y su campo date

Citar            
MensajeEscrito el 26 Ene 2011 01:47 am
Hola, tengo un problema y he buscado por la web y no doy con la solución, espero alguien me pueda ayudar, tengo una DB en mysql en ella tengo una tabla con un campo en formato DATE, tengo el amfphp configurado con el service donde hago la conexión, mi problema radica en que cuando ingreso el campo date desde el explorer del amfphp, lo unico que termina ingresando es 0000-00-00 y le he colocado las fechas en varios formatos (yyyy-mm-dd, yyyy/mm/dd, etc etc), y la verdad ya no se que mas hacer, otro problema que creo que pueda ser es que no me admite guiones entre numero, quizas lo considere como una substraccion y por eso no lo guarda , si alguien me ayudase, por favor

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

chrome
Citar            
MensajeEscrito el 26 Ene 2011 03:01 am
Pues la misma base de datos te dice el formato ¿No? "0000-00-00".

So, el formato es el estándar, YYYY-MM-DD. Ahora el problema debe ser como le pasas ese dato. ¿Por que no pones el código aquí del tramo de la fecha?

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 26 Ene 2011 10:26 pm
hola garcias por responder, este e smi codigo, no le veo nada de malo

function insertTrabajador($apellidos,$nombres,$dni,$direccion,$telefono,$celular,$fec_nac){
$apellidos = utf8_decode($apellidos);
$nombres = utf8_decode($nombres);
$dni = utf8_decode($dni);
$direccion = utf8_decode($direccion);
$telefono = utf8_encode($telefono);
$celular = utf8_decode($celular);
$sql= "INSERT INTO trabajadores VALUES ('','".$apellidos."','".$nombres."','".$dni."','".$direccion."','".$telefono."','".$celular."','".$fec_nac."')";
return $this->query($sql,1); //retornamos el id de nuestro registro insertado
}

el problema, segun estuve viendo es que este codigo no me reconoce el "-" (guion), despues de un número, es decir si le pongo la fecha 1976-10-10, en el explorador de servicios del amfphp, la variable $fec_nac solo me reconoce 1976, y no se porque pasa eso :S.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

chrome
Citar            
MensajeEscrito el 26 Ene 2011 10:33 pm
jeje pero no veo la declaración de la variable $fec_nac:

Código PHP :

$apellidos = utf8_decode($apellidos);
$nombres = utf8_decode($nombres);
$dni = utf8_decode($dni);
$direccion = utf8_decode($direccion);
$telefono = utf8_encode($telefono);
$celular = utf8_decode($celular);


Necesitaría ver puntualmente donde generas la función para ver la variable como está siendo creada.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 27 Ene 2011 05:01 pm
esa es la función declarada en un archivo llamado Bkservice, para poder ser llamado desde el explorador de servicios del AMFPHP.
si bien no esta declarada la variable $fec_nac, en php no hace falta, y ademas, tmb probe declararla poniendo - var $fec_nac = "" -, pero aun asi no lo reconoce.
otra cosa que debo mecionar es que yo utilizo el wamp 2.1e que trae el php 5.3.5 y el mysql 5.5.8.
hace algun tiempo yo utilice el wamp 2.1a con versiones de php 5.3.0 y mysql 5.1. y no tuve ese problema y el codigo es el mismo.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

chrome
Citar            
MensajeEscrito el 04 Feb 2011 05:24 am
Mira tengo el mismo problema haber si podemos sacar esto adelante, te cuento que el problema no son los guiones. yo lo estoy haciendo en una búsqueda y logre que me encuentre el registro lo que hice fue agregarle comillas dobles a la fecha en el browser del amfphp es decir cuando te pide los parametros para hacer "call" a la funcion escribis por ejemplo asi:
"2009-05-14"
ahi va a resultar.
El problema es que desde php yo no he podido lograr que funcione aunque le agregue las comillas dobles desde código.
Si tenes una solucion por favor publicala.
Saludos.

Por luchos01

2 de clabLevel



 

chrome
Citar            
MensajeEscrito el 04 Feb 2011 05:32 am
Desde php la función es:

Código PHP :

date("Y-m-d");


Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 04 Feb 2011 06:23 am
Aca de nuevo, Gracias Hernan por la pronta respuesta pero no he podido hacer mucho con esa funcion que pasaste, lo solucioné de la siguiente manera:

Tome los valores desde el browser del amfphp sin comillas dobles y sin guiones , la fecha me quedo asi:

20110215

desde php lo parseo con substr de la suiente manera

Código PHP :

      $armandoFecha = substr($pFecha,0,4)."-"; 
      $armandoFecha.= substr($pFecha, 4, 2)."-"; 
      $armandoFecha.= substr($pFecha, 6, 2); 


me queda asi: 2011-02-15 y lo que sigue es poner la variable

Código PHP :

$armandoFecha
en la sentencia SQL

solo que desde flex luego tendre que pasar la fecha con el formato de arriba, pero no creo que traiga problema alguno

por último aclaro que no estoy utilizando MySQL sino Firebird.

Saludos.

Por luchos01

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Feb 2011 06:48 am
Puff, bastante desprolija la solución. ¿Por que no usas las funciones natales de SQL para la fecha y ya?

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 04 Feb 2011 02:52 pm
Si por ahora encontre esa solucion, pasa que el problema no viene del lado del codigo php o sql, sino en la forma en que amfphp toma o lee los valores porque como dijo el que abrio el post si pones el literal 2009-05-14 no te toma los guiones.

Saludos.

Por luchos01

2 de clabLevel



 

msie7
Citar            
MensajeEscrito el 05 Feb 2011 01:05 am
Gente de nuevo acá, la solucion anterior de ingresar la fecha corrida de esta forma:
20110513
y luego parsearla desde php no es necesaria.
Ya estoy trabajando en la parte de flex, no hay que darle "bolilla" a que haya que ingresar con comillas dobles en el amfphp la fecha ejemplo :
"2011-05-14"
porque desde flex al invocar el metodo no existe ningun inconveniente.

luego de ingresar una fecha desde un DATEFIELD lo que hago es formatearla para pasarla como parametro del metodo quedaria asi:

Código Flex :

            var dia:int = dateField.selectedDate.getDate(); 
            //Al mes se agrega +1 porque considera Enero = 0 y Diciembre = 11 
            var mes:int = dateField.selectedDate.getMonth() + 1 ;   
            var year:int = dateField.selectedDate.getFullYear(); 
            
            var miFechaFormato:String = year + "-" + mes + "-" + dia;


Lo ultimo que queda hacer es utilizar la varibla miFechaFormato como parametro y listo.

Asique bueno asunto solucionado.

Saludos.

Por luchos01

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Feb 2011 08:39 am
Es la mejor forma si usas flex o flash en tomar la fecha tal cual viene desde lado del servidor
y luego formatea tranquilamente con flex o flash muchas opciones

Por xcom

Claber

530 de clabLevel



 

firefox

 

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