Foros del Web » Programando para Internet » PHP »

Explode e implode!!!

Estas en el tema de Explode e implode!!! en el foro de PHP en Foros del Web. Hola a todos...... Mi inquitud es la siguiente.... En un form imprimo una fecha con javascrip, esta fecha la tengo que guardar en la base ...
  #1 (permalink)  
Antiguo 19/11/2003, 14:19
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 14 años, 1 mes
Puntos: 0
Explode e implode!!!

Hola a todos......

Mi inquitud es la siguiente....

En un form imprimo una fecha con javascrip, esta fecha la tengo que guardar en la base de datos de la forma que la acepta los moteres de base de datos(año/mes/dia)....
ahora la fecha que recibo es una cadena de la siguiente forma:

3 de noviembre de 2003.

Esta cadena la tengo que descomponer a la forma que se pueda guardar, hasta el momento he utilizado la funcion explode e implode la cual me ha colocado la cadena de la siguiente manera:

3Noviembre2003...

En php hay otra funcion que me descomponga la cadena a la forma que necesito (año/mes/dia) ? o este metodo que estoy utilizando es la unica manera?

de antemano les agradesco la informacion que me puedan dar....
  #2 (permalink)  
Antiguo 20/11/2003, 07:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En PHP .. si tu mandas un dia de la semana .. o nombre de mes en tu formato própio (español y texto) .. debes hacerte un array interno de conversión .. tipo:

Código PHP:
$meses=array("enero"=>1,"febrero"=>...etc); 
así podras usar como indice de ese array tu mes en formato "texto propio" y ese array asociativo te entregará el nº de mes que corresponde para que puedas aplicar cualquier otra función tipo date() para formatear tu fecha como gustes o simplemente concatenar (con - o / .. ) para formar la fecha que requiere tu campo de tu BD fecha. Y si usas campos tipo DATE o DATETIME en tu BD .. mejor todavía ..

Código PHP:
echo "Mes nº: ".$meses[$mes_que_obtienes_de_aplicar_explode_a_tu_fecha]; 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 20/11/2003, 07:51
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 14 años, 1 mes
Puntos: 0
Hola Cluster, gracias por tu respuesta, la manera que lo realice fue de al siguiente forma:

Código PHP:
    $fecha explode(" ",$strFecha);
    
$fecha implode("",$fecha);
    
$fecha explode(",",$fecha);
    
$fecha implode("",$fecha);
    
$fecha explode("de",$fecha);

    
$cont count($fecha);

    
$meses = array("Enero" => 1"Febrero" =>2"Marzo" =>3"Abril" =>4"Mayo" =>5"Junio" =>6"Julio" =>7"Agosto" =>8"Septiembre" =>9"Octubre" => 10"Noviembre" =>11"Diciembre" =>12);

    foreach (
$meses as $key => $value) {
    
        for (
$i=0$i<$cont$i++)
            if (
eregi($fecha[1],$key)) {
                
$temp $fecha[0];
                
$fecha[0] = $fecha[2];
                
$fecha[1] = $value;
                
$fecha[2] = $temp;
            }
    }
    
$FechaReal implode("-",$fecha); 
de esta forma fue que consegui que me entregara la forma que necesito.....
  #4 (permalink)  
Antiguo 20/11/2003, 08:03
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 14 años, 1 mes
Puntos: 0
Cluster aunque de tu forma me ahorro el foreach y el if...... y otra vez gracias por tu respuesta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:00.