Foros del Web » Programando para Internet » PHP »

Help Help

Estas en el tema de Help Help en el foro de PHP en Foros del Web. Hola a todos diculpen que consulte esto pero de verdad necesito con suma urgencia ayuda por favor no acostubro a pedir que me digan el ...
  #1 (permalink)  
Antiguo 09/06/2010, 12:33
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Help Help

Hola a todos diculpen que consulte esto pero de verdad necesito con suma urgencia ayuda por favor no acostubro a pedir que me digan el codigo pero ya no tengo tiempo de resolver este tema ya q mañana tengo que tenerlo solucionado o sino me ira muy mal con mi jefe T_T.... este es el codigo de fecha que tengo hecho
Código PHP:
Ver original
  1. <?php /* formato de Fecha*/
  2. $fecha=explode('-',$datos->Fields('FEC_NACIMIENTO')); //campo q almacena la fecha
  3.  
  4. $ano=$fecha[1];
  5. $mes=$fecha[2];
  6. $dia=$fecha[3];
  7.  
  8. if($dia < '10'){
  9. $dia=eregi_replace('0','',$dia);
  10. }
  11.  
  12. if ($mes < '10'){
  13. $mes=eregi_replace('0','',$mes);
  14. }
  15. $diasmes=array('','Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio',
  16.     'Agosto','Septiembre','Octubre','Noviembre','Diciembre');
  17. $mes=$diasmes[$mes];
  18.  
  19. /*FIN FORMATEO DE FECHAS*/ ?>
y aki es donde llamo lo de arriba.

Código PHP:
Ver original
  1. <?php $FNAC = $datos->Fields('FEC_NACIMIENTO'); ?>
  2. <tr>
  3.      <td class="Estilo3"><div align="left"><strong>Fecha de Nacimiento </strong></div></td>
  4.      <td class="Estilo3"><div align="left">: <?
  5.      //$dias=eregi_replace('0','',$dias);
  6.                  //$dias=eregi_replace(':','',$dias);
  7.      //echo $dias.' de '.$mess.' del '.$anio;
  8.      
  9.      echo $fecha=strftime('%d de %B del %Y',strtotime($FNAC)); ?>  </div></td>    
  10.      <td><div align="right">(Datos Correctos)
  11.         SI<input type="radio" name="SN10" value="S" onclick="deshabilita10()">
  12.         NO<input type="radio" name="SN10" value="N" onclick="habilita10()"></div></td>
  13.        </tr>

lo que esta comentado son unas pruebas que estaba haciendo pero no me funcionaron, bueno el problema es que esto me funciona sin ningun problema con las fechas de nacimiento que son superiores al 01/01/1970 pero las inferiores no me las muestra me dijeron que tenia que colocar un include o algo asi pero la verdad es que es primera vez que realizo una labor tan grande en este lenguaje y llevo muy poko tiempo y no se todo lo que me hablan ahora si me pudieran decir donde tengo el error en mi codigo o alguien tiene algun codigo mejor que lo indique se lo agradeceria de verdad ya que este proyecto dependen muxas cosas gracias a todos.
  #2 (permalink)  
Antiguo 09/06/2010, 13:25
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Help Help

Ok... mira... creo que en primer lugar debes cambiar el formateo por esto:
Código PHP:
$fecha=explode('-',$datos->Fields('FEC_NACIMIENTO')); //campo q almacena la fecha

$ano $fecha[1];
$mes $fecha[2];
$dia $fecha[3];
 
if(
$dia '10'){
    
$dia '0'.$dia;
}
 
if (
$mes '10'){
    
$mes '0'.$mes;
}
$diasmes=array('','Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio',
    
'Agosto','Septiembre','Octubre','Noviembre','Diciembre');
$mes $diasmes[$mes];

$fecha $dia.' del '.$mes.' del '.$ano
Y abajo reemplaza donde va la fecha por esto:
Código PHP:
<?php
    
echo $fecha
?>
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 09/06/2010, 13:26
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Help Help

PHP utiliza el sistema de fechas UNIX, contando los segundos transcurridos a partir del 1 de ene de 1970, si quieres manejar alguna fecha anterior, deberas utilizar la informacion que ya tienes separada, ejemplo:

Código PHP:
Ver original
  1. // Multiplica por 1, para que el dato sea numerico y eliminar el cero a la izquierda
  2. $ano=$fecha[1];
  3. $mes=$fecha[2] * 1;
  4. $dia=$fecha[3] * 1;
  5.  
  6. echo "Fecha: $dia - {$diasmes[$mes]} - $ano";
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 09/06/2010, 14:32
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: Help Help

estoy probando haber si me resulta les aviso muchas gracias por su ayuda
  #5 (permalink)  
Antiguo 09/06/2010, 14:54
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: Help Help

Marvin disculpa en el codigo que tu me entregaste me aparece una fecha en el caso de una persona q nacio el 24 de Septiembre de 1956 me muestra 28 de febrero del 2008 la verdad no se que puede pasar por fa me ayudarias nuevamente
  #6 (permalink)  
Antiguo 09/06/2010, 15:07
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Help Help

Ya se lo que pasa... fijate que en el arreglo estas cargando asi:
Código PHP:
$ano $fecha[1];
$mes $fecha[2];
$dia $fecha[3]; 
Pero deberia ser asi:
Código PHP:
$ano $fecha[0];
$mes $fecha[1];
$dia $fecha[2]; 
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #7 (permalink)  
Antiguo 09/06/2010, 15:15
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: Help Help

Cita:
Iniciado por Marvin Ver Mensaje
Ya se lo que pasa... fijate que en el arreglo estas cargando asi:
Código PHP:
$ano $fecha[1];
$mes $fecha[2];
$dia $fecha[3]; 
Pero deberia ser asi:
Código PHP:
$ano $fecha[0];
$mes $fecha[1];
$dia $fecha[2]; 
Suerte!
me sigue apareciendo la fecha 28 de febrero de 2008 ???? bueno cambie la persona que el nacimiento es el 04 de Abril de 1977 y me aparece 04 de Agosto de 2008 no caxo que hacer T_T T_T
  #8 (permalink)  
Antiguo 09/06/2010, 15:18
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Help Help

Puedes poner lo que imprime esto:
Código PHP:
echo $datos->Fields('FEC_NACIMIENTO'); 
Quiero saber como estas obteniendo ese dato.

Saludos!

Pd.: Tranki que todo tiene solucion excepto die();
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #9 (permalink)  
Antiguo 09/06/2010, 15:24
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: Help Help

esto es la informacion q me muestra 1956/09/24 en este caso bueno en el otro cambia la fecha obvio xD vale men

voy saliendo ahora si no te contesto mas tarde vale por la ayuda !!!! vuelvo en un rato mas
  #10 (permalink)  
Antiguo 09/06/2010, 16:38
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Help Help

Si la separacion es con / diagonal... lo que esta mal es el explode:

$fecha=explode('-',$datos->Fields('FEC_NACIMIENTO'));
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 10/06/2010, 06:03
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: Help Help

Cita:
Iniciado por Triby Ver Mensaje
Si la separacion es con / diagonal... lo que esta mal es el explode:

$fecha=explode('-',$datos->Fields('FEC_NACIMIENTO'));
entonces que es lo que deberia colocar donde esta el ' - ' colocar un ' / ' a eso te refieres ????
  #12 (permalink)  
Antiguo 10/06/2010, 06:46
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: Help Help

no me funck nada aun sigo con el problema Marvin plis T_T
  #13 (permalink)  
Antiguo 10/06/2010, 08:19
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Help Help

Okales... mira... haz el siguiente ejercicio:
Código PHP:
//Emulamos lo que te llega en una variable
$temp "1956/09/24";
//ahora llenamos un arreglo ($fecha)
//con la fecha arriba separada por /
$fecha explode('/',$temp);
//mostramos el año
echo $fecha[0];
echo 
'<br>';
//mostramos el mes
echo $fecha[1];
echo 
'<br>';
//mostramos el dia
echo $fecha[2];
echo 
'<br>';
//creamos el arreglo de meses
$diasmes=array('','Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio',
    
'Agosto','Septiembre','Octubre','Noviembre','Diciembre');
//Y ahora cargamos el nombre del mes de la fecha
$nomMes $diasmes[$fecha[1]];
//ahora lo mostramos
echo $nomMes;
echo 
'<br>'
Si todos los datos salieron bien... deberias reemplazar lo que necesites en la fecha.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #14 (permalink)  
Antiguo 10/06/2010, 08:38
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: Help Help

Cita:
Iniciado por Marvin Ver Mensaje
Okales... mira... haz el siguiente ejercicio:
Código PHP:
//Emulamos lo que te llega en una variable
$temp "1956/09/24";
//ahora llenamos un arreglo ($fecha)
//con la fecha arriba separada por /
$fecha explode('/',$temp);
//mostramos el año
echo $fecha[0];
echo 
'<br>';
//mostramos el mes
echo $fecha[1];
echo 
'<br>';
//mostramos el dia
echo $fecha[2];
echo 
'<br>';
//creamos el arreglo de meses
$diasmes=array('','Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio',
    
'Agosto','Septiembre','Octubre','Noviembre','Diciembre');
//Y ahora cargamos el nombre del mes de la fecha
$nomMes $diasmes[$fecha[1]];
//ahora lo mostramos
echo $nomMes;
echo 
'<br>'
Si todos los datos salieron bien... deberias reemplazar lo que necesites en la fecha.

Suerte!
me retorna los valores del fecha [1],[2],[3] pero no me aprece valor en $nomMes ose lo que me devueles la fecha inicial en el formato que se le indica pero el mes me sigue apareciendo en formato numerico y lo que necesito es en palabras ... ¿por q no toma el array?
  #15 (permalink)  
Antiguo 10/06/2010, 08:59
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Help Help

Porque $fecha[1] es una cadena '09' y el indice para mes debe ser numerico... como te comentaba en otra respuesta... multiplica ese valor por 1 o pasalo por intval()
__________________
- León, Guanajuato
- GV-Foto
  #16 (permalink)  
Antiguo 10/06/2010, 09:09
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Help Help

Reemplaza esto:
Código PHP:
$nomMes $diasmes[$fecha[1]]; 
Como te dice Triby
Código PHP:
$nomMes $diasmes[intval($fecha[1])]; 
Saludos!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #17 (permalink)  
Antiguo 10/06/2010, 09:23
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: Help Help

Cita:
Iniciado por Marvin Ver Mensaje
Okales... mira... haz el siguiente ejercicio:
Código PHP:
//Emulamos lo que te llega en una variable
$temp "1956/09/24";
//ahora llenamos un arreglo ($fecha)
//con la fecha arriba separada por /
$fecha explode('/',$temp);
//mostramos el año
echo $fecha[0];
echo 
'<br>';
//mostramos el mes
echo $fecha[1];
echo 
'<br>';
//mostramos el dia
echo $fecha[2];
echo 
'<br>';
//creamos el arreglo de meses
$diasmes=array('','Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio',
    
'Agosto','Septiembre','Octubre','Noviembre','Diciembre');
//Y ahora cargamos el nombre del mes de la fecha
$nomMes $diasmes[$fecha[1]];
//ahora lo mostramos
echo $nomMes;
echo 
'<br>'
Si todos los datos salieron bien... deberias reemplazar lo que necesites en la fecha.

Suerte!
ya ahi me funciono heeee
solo faltaba que tenia q eliminar el 0 que estaba antes del numero si era 09 tenia que ser 9 solamente para el array funcionara me di cuenta cuando iguale el mes a 10 ahi me funciono asi que deduje el resto muxas gracias por la ayuda de verdad me han ayudado arto
  #18 (permalink)  
Antiguo 10/06/2010, 09:25
 
Fecha de Ingreso: abril-2010
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
Respuesta: Help Help

oye tengo una duda con respecto a algo similar haber si me puedes hecharme una manito

tengo un siclo while donde almaceno las fechas de nacimiento = yo le podria agregar lo mismo mira te mando el codigo que hice para esto

Código PHP:
Ver original
  1. <?php
  2.        while (!$familiar->EOF) {
  3.       ?>
  4.       <?
  5.       $EFN=$familiar->Fields('EMPL_FEC_NACIMIENTO');
  6.       ?>  
  7.    <tr>
  8.    <td width="95"><div><? echo $fecha=strftime('%d de %B del %Y',strtotime($EFN));?></div></td>
  9.    <td width="100"><div><?php echo $familiar->Fields('PERS_COD'); ?></div></td>
  10.    <td width="250"><div><?php echo $familiar->Fields('Nombre'); ?></div></td>
  11.    <td width="150"><div><?php echo $familiar->Fields('TPAR_DES'); ?></div></td>
  12.   </tr>
  13.  <?php
  14.  $familiar->MoveNext();
  15.  }
  16.  ?>

Etiquetas: Ninguno
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 13:34.