Foros del Web » Programando para Internet » PHP »

Insertar fecha

Estas en el tema de Insertar fecha en el foro de PHP en Foros del Web. Buenas tengo un campo en mi bd llamado fecha_end y quiero insertar 31 dias mas a ese campo, es decir sumarle 31 dias más El ...
  #1 (permalink)  
Antiguo 15/10/2007, 08:04
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Insertar fecha

Buenas tengo un campo en mi bd llamado fecha_end y quiero insertar 31 dias mas a ese campo, es decir sumarle 31 dias más


El formato del campo es date y se me muestra en pantalla por ejemplo de la siguiente manera:2007-10-27 mediante esta consulta:

Código:
$connect = mysql_connect(SERVIDOR_BD,USUARIO_ACCESO_BD,CLAVE_ACCESO_BD);
	$fecha = "select fecha_end from users where username = '$valid_user'";
	$fecha_fin = mysql_db_query(NOMBRE_BD,$fecha);
	@$row = mysql_fetch_array($fecha_fin);
	$fecha_end = $row["fecha_end"];	
               echo "$fecha_end";
Una vez mostrado lo que quiero es insertarle 31 dias más al campo fecha_end, lo hago con esta consulta pero no me funciona y no se si es así correctamente:
Código:
$insertar_fecha = "SELECT DATE_ADD('fecha_end', INTERVAL 31 DAY) from users where username = '$valid_user'";
donde tengo el error? muchas gracias desde ya espero respuesta impaciente un saludo.
  #2 (permalink)  
Antiguo 15/10/2007, 08:14
 
Fecha de Ingreso: mayo-2007
Mensajes: 118
Antigüedad: 17 años
Puntos: 0
Re: Insertar fecha

Yo utilice una funcion PHP que tengo en casa, lo que hace es calcular una fecha segun los dias que tu le pongas desde la fecha actual.

Una vez que tenia esa fecha hacia el insert en la base de datos.

Si te interesa cuando llegue a casa te la mando por privado

Saludos
  #3 (permalink)  
Antiguo 15/10/2007, 08:23
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Re: Insertar fecha

Gracias ARJSystem por la respuesta, esa función también la tengo yo, pero lo que necesito es añadir directamente dias o meses o años a la fecha ke hay en la bd.

Si alguien supiese como se hace estaria muy agradecido un saludo y gracias de nuevo.
  #4 (permalink)  
Antiguo 15/10/2007, 08:32
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Insertar fecha

hyperrjas, el nombre del campo no lo tenés que poner con comillas simples porque así lo interpreta como un string.

Código:
$insertar_fecha = "SELECT DATE_ADD(fecha_end, INTERVAL 31 DAY) from users where username = '$valid_user'";
  #5 (permalink)  
Antiguo 15/10/2007, 08:52
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Re: Insertar fecha

Gracias Seppo por la respuesta, pero sigue sin funcionarme, he probado a cambiar el select por update, insert o set pero me da error de sintaxis.

No se que hacer porque en el manual de mysql viene así la consulta. Donde tengo el error? :S

Gracias de nuevo espero respuesta un saludo
  #6 (permalink)  
Antiguo 15/10/2007, 10:10
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Insertar fecha

¿Te da error de Sintaxis? ¿Qué error es? ¿Lo podés copiar?
  #7 (permalink)  
Antiguo 16/10/2007, 05:20
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Re: Insertar fecha

Gracias de nuevo seppo siento no haber podido contestar antes. No no me da error de sintaxis no hace nada es decir tiene que poner en el campo 31 dias mas pues no hace nada. De todos modos he googleado y he encontrado esto que por ahora me sirve cambia la fecha de modo manual con la funcion explode:

Coger una fecha de una BD y sumarle un numero de meses o dias o años:

Cita:
//Conectamos al server
$connect = mysql_connect(SERVIDOR_BD,USUARIO_ACCESO_BD,CLAVE_ ACCESO_BD);
//seleccionamos el campo donde la tengamos guardada
$fecha = "select fecha_end from users where username = '$valid_user'";
//query para la conexion
$fecha_fin = mysql_db_query(NOMBRE_BD,$fecha);
//la metemos en una variable que contiene un array con mysql_fetch_array
@$row = mysql_fetch_array($fecha_fin);
//sacamos en $fecha_end el campo del array en este caso ["fecha_end"]; ya tenemos la fecha en una variable;
$fecha_end = $row["fecha_end"];
//la separamos con explode
$tmp = explode( '-', $fecha_end);
//creamos el array numerico con mktime
$tsdate = mktime( 0, 0, 0, $tmp[1], $tmp[2], $tmp[0] );
//sumamos la fecha que necesitemos en este caso 31 dias y la colocamos en el formato de la bd
$tsdate += (3600 * 24) * 31;<---------------------------------------------------31 es el numero de dias puedes poner los que quiera te los cambia respetando los años
$fecha = date( 'Y-m-d', $tsdate );

//la volvemos a insertar en el campo de la bd con update
$insertar_fecha = "update users set fecha_end = '$fecha' where username = '$valid_user'";
$prueba = mysql_db_query(NOMBRE_BD,$insertar_fecha) or die(mysql_error());

Espero ke le sirva a alguien de ayuda un saludo.

Última edición por hyperrjas; 16/10/2007 a las 05:29 Razón: Explicación de como insertar una fecha sumando numero de dias años meses sacada de la bd
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 23:20.