Foros del Web » Programando para Internet » PHP »

Fecha

Estas en el tema de Fecha en el foro de PHP en Foros del Web. como puedo consultar una fecha de en la base de datos es decir tengo en el campo de la base de datos tengo tipo DATE ...
  #1 (permalink)  
Antiguo 09/03/2009, 22:08
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Fecha

como puedo consultar una fecha de en la base de datos

es decir tengo

en el campo de la base de datos tengo tipo DATE

pero cuando hago la consulta me la trae con todo y hora

ejemplo

Jan-05-12 00:00:00

pero yo solo quiero la fecha

Jan-05-12


Como hago eso?
  #2 (permalink)  
Antiguo 09/03/2009, 22:24
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Fecha

Entonces el campo es DATETIME. Usa date_format() de MySQL, o tambien puedes pasarlo a su unix timestamp usando strtotime() de PHP y darle el formato que desees con date().
  #3 (permalink)  
Antiguo 10/03/2009, 04:03
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: Fecha

Lo de Ronruby lo probé en su día y tiene razón. Aunque también puedes usar las funciones de extracción desde sentencia SQL:

(Suponiendo que el campo se llama fecha)

SELECT YEAR(fecha) AS Año, MONTH(fecha) AS Mes, DAY(fecha) AS Dia FROM tu_tabla;

El inconveniente de esto es que te lo da en 3 campos en vez de en uno sólo, aunque creo que podrías concatenarlo...

SELECT CONCAT(YEAR(fecha), "-", MONTH(fecha), "-", DAY(fecha)) as Fecha FROM tu_tabla;


No está probado, pero si no me equivoco debería de ir así o parecido.

Sólo lo digo como alternativa, aunque ya digo que lo de Ronruby funcionará bien
  #4 (permalink)  
Antiguo 10/03/2009, 08:45
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Fecha

Excelente gracias a ambos
los 2 funcionan muy bien, en mi caso usare el segundo
se los agradezco


Ahora tengo una duda
como lu muestro en un SELECT (combobox)
de ese modo aparte de cargar la fecha me de la opcion de poder modificarla

para ser mas exacto
son 3 select
cada uno representa DIA, MES, ANO

Asi tengo el dia

<SELECT name='dia'>";
for ($i = 1; $i<= 31; $i++) {
echo "<option value=".$confecha['Dia'].">$i</option>";
}
echo "</SELECT>


pero estoy seguro q asi no es




gracias por todo

Última edición por csbonito; 10/03/2009 a las 09:02 Razón: sentencia
  #5 (permalink)  
Antiguo 10/03/2009, 09:04
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Fecha

supongamos que haces una while y capturas la fecha de nacimiento del registro,
y tu campo fecha es año-mes-dia , simple, haces un explode a tu $fecha y los separas en 3: asi

//EXTRAEMOS LOS CARACTERES DE LA FECHA
$date = explode("-",$fecha);
$ano=$date[0];
$mes=$date[1];
$dia=$date[2];

ya teniendo esos 3 datos. En el caso de dias por ejemplo llenas un combo con 31 dias y dentro pones una condicion que si el item es igual al dia, el valor selected sera igual al dia de la fecha
Código PHP:
        
//LLENAMOS LOS COMBOBOX DE LA FECHA DE LA BD
//combobox dia           
    
echo "<select name='dia' class='cboForm' id='dia' >";
    echo 
'<option selected value="0">Día</option>'
    for(
$i=1;$i<32;$i++){ 
        if(
$i==$dia){
        echo 
'<option value="'.$i.'" selected="selected">'.$i.'</option>';
        }
        else{
        echo 
'<option value="'.$i.'">'.$i.'</option>';                }
    }
    echo 
'</select>';                
    echo 
"&nbsp;<font color='#FFFFFF'>/</font>&nbsp;"
el mismo caso para mes y años, espero te ayude este sencillo ejemplo, saludos
__________________
Quitenme la vida pero no la bebida.
  #6 (permalink)  
Antiguo 10/03/2009, 10:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Fecha

excelente me funciono se los agradezco mucho

caso resulto xD

gracias por enseñarme como hacer las cosas
  #7 (permalink)  
Antiguo 10/03/2009, 11:54
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 2 meses
Puntos: 20
De acuerdo Respuesta: Fecha

si estas trabajando con SQL2000 es facil...

solo crea esta funcion:

Código:
create  function DateOnly(@DateTime DateTime)
-- Returns @DateTime at midnight; i.e., it removes the time portion of a DateTime value.
returns datetime
as
    begin
    return dateadd(dd,0, datediff(dd,0,@DateTime))
    end
y luego de crear esa funcion:

haces la consulta asi:
Código:
SELECT DateOnly(fecha) as Fecha FROM tu_tabla;
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:27.