Foros del Web » Programando para Internet » PHP »

Insertar en tabla desde formulario.

Estas en el tema de Insertar en tabla desde formulario. en el foro de PHP en Foros del Web. Hola a todos, mi pregunta es: como puedo ingresar en una tabla mysql los días que hay entre dos fechas que obtengo de un formulario ...
  #1 (permalink)  
Antiguo 27/09/2008, 10:54
 
Fecha de Ingreso: mayo-2007
Mensajes: 5
Antigüedad: 16 años, 11 meses
Puntos: 0
Insertar en tabla desde formulario.

Hola a todos, mi pregunta es:
como puedo ingresar en una tabla mysql los días que hay entre dos fechas que obtengo de un formulario con los campos fecha inicio y fecha fin.
En la tabla deben ingresarse todos los días entre ambas fechas.
Un saludo de antemano
Gracias
  #2 (permalink)  
Antiguo 27/09/2008, 11:00
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 3 meses
Puntos: 7
Respuesta: Insertar en tabla desde formulario.

Deberìas ser un poco más explícito, muestra algùn ejemplo para que te podamos ayudar.

Saludos!
__________________
I'm gonna start a revolution from my bed...
  #3 (permalink)  
Antiguo 27/09/2008, 11:02
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Insertar en tabla desde formulario.

Hola..
Podrias hacerlo asi:

Código PHP:
<?php
$conexion
=mysql_connect("localhost","root","clave");
mysql_select_db("nombrebd"); 
//defino fecha 1
$ano1 2006;
$mes1 10;
$dia1 2;

//defino fecha 2
$ano2 2006;
$mes2 10;
$dia2 27;

//calculo timestam de las dos fechas
$timestamp1 mktime(0,0,0,$mes1,$dia1,$ano1);
$timestamp2 mktime(4,12,0,$mes2,$dia2,$ano2);

//resto a una fecha la otra
$segundos_diferencia $timestamp1 $timestamp2;
//echo $segundos_diferencia;

//convierto segundos en días
$dias_diferencia $segundos_diferencia / (60 60 24);

//obtengo el valor absoulto de los días (quito el posible signo negativo)
$dias_diferencia abs($dias_diferencia);

//quito los decimales a los días de diferencia
$dias_diferencia floor($dias_diferencia);

//echo $dias_diferencia;


$sql="insert into tabla values($dias_diferencia)";
$result=mysql_query($sql,$conexion);

?>
Saludos...
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
  #4 (permalink)  
Antiguo 27/09/2008, 11:03
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Insertar en tabla desde formulario.

Sorry , falla de conexion !
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
  #5 (permalink)  
Antiguo 27/09/2008, 13:25
 
Fecha de Ingreso: mayo-2007
Mensajes: 5
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Insertar en tabla desde formulario.

Exactamente lo que preciso es, si entre las fecha de inicio es 2008-09-01 y la de fin 2008-09-04, insertar en la tabla las fechas 2008-09-01, 2008-09-02, 2008-09-03 y 2008-09-04, es todo el rango de fechas que hay entre ambas.
Espero haberme explicado.
Gracias
  #6 (permalink)  
Antiguo 27/09/2008, 13:28
 
Fecha de Ingreso: mayo-2007
Mensajes: 5
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Insertar en tabla desde formulario.

Gracias vidalsoft, pero tu código creo que lo que calcula es el número de día entre las dos fechas, y yo lo que quiero es insertar todos los días.
  #7 (permalink)  
Antiguo 27/09/2008, 13:29
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 3 meses
Puntos: 7
Respuesta: Insertar en tabla desde formulario.

Ya probaste lo que te ha mostrado "Vidalsoft"?
A simple vista parece ser lo que buscas.

Saludos!
__________________
I'm gonna start a revolution from my bed...
  #8 (permalink)  
Antiguo 27/09/2008, 13:41
 
Fecha de Ingreso: mayo-2007
Mensajes: 5
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Insertar en tabla desde formulario.

[QUOTE=pablinff;2596875]Ya probaste lo que te ha mostrado "Vidalsoft"?
A simple vista parece ser lo que buscas.

Lo he probado y lo que me inserta es el número de días, por ejemplo he puesto fecha 1 02-10-2006 y fecha2 27-10-2006
el resultado es 25, pero como ya he dicho pretendo sacar todos los días entre ambas fechas y luego insertarlas en la tabla.

Un saludo
  #9 (permalink)  
Antiguo 27/09/2008, 16:42
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: Insertar en tabla desde formulario.

Entonces hazlo de la siguiente manera.

Haz un ciclo
Revisa si la fecha inicial == a la final, si no es igual entonces:
Obten la fecha inicial, y sumale un dia con strtotime("+1 day")
Guarda ese valor en una variable:
$var .= $valor.", ";
(El punto es para concatenar)

Cuando el ciclo termine usa substr para remover el ultimo ", "
Y ya. Inserta eso en la base de datos.

Aunque yo solo guardaria la fecha inicial y la final e haria ese proceso solo cuando desee mostrar los dias entre fechas.
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 05:07.