INFORMATICA Y OCIO

Foros de informática
  Inicio    Normas    Buscar   Miembros   Clanes   Regístrese   Perfil   Conéctese para revisar sus mensajes   Conectarse 
[informatica] + [videos graciosos] + [ultimos mensajes] + [top usuarios] + [contacto]


PHP Fechas [AYUDA]

 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Webmasters
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
xtremer
Yo soy el foro
Yo soy el foro


Registrado: 22 Dic 2006
Mensajes: 1113

MensajePublicado: Vie Ene 29, 2010 11:14 pm    Título del mensaje: PHP Fechas [AYUDA] Responder citando
Aver si me pueden ayudar q es importante saber esto pa mi, esta vez le saque mucho codigo para que lean lo preciso.
Qiero saber si suma bien los dias de las fecha de vto, acerca de agregar 1mes a la fecha actual, teniendo en cuenta los 28,29,30,31dias que aveces estan.

Código:

mysql_connect(" "," "," ");
mysql_select_db(" ");
function sumaMes($fecha,$mes){
list($year,$mon,$day) = explode('-',$fecha);
return date('Y-m-d',mktime(0,0,0,$mon+$mes,$day,$year));
}

$sql=mysql_query("SELECT * FROM pagos WHERE id>$id LIMIT 10 ");
$i=1;
if(mysql_num_rows($sql)>0){
while($reg=mysql_fetch_array($sql)){
// Nueva Fecha de VTO +30 DIAS
$XFecha=$reg['fecha_vto'];
$SumarFechaVto=sumaMes($XFecha,1);

$ano1=date('Y');$mes1=date('m');$dia1=date('d');
$ano2=substr($XFecha,0,4);$mes2=substr($XFecha,6,2);$dia2=substr($XFecha,9,2);
$timestamp1=mktime(0,0,0,$mes1,$dia1,$ano1);
$timestamp2=mktime(4,12,0,$mes2,$dia2,$ano2);

$segundos_diferencia=$timestamp1-$timestamp2;
$dias_diferencia=$segundos_diferencia / (60 * 60 * 24);
$dias_diferencia=abs($dias_diferencia);
$dias_diferencia=floor($dias_diferencia);

$xtest=substr($dias_diferencia,0,3);
if($xtest<5){
$valor2="
<div>".$dias_diferencia." dias</div>";
}
if($xtest>5){
$valor2="
<div>".$dias_diferencia." dias</div>";
}

echo "
<div>
<input type=radio name='AgregarF$i' value='1' onFocus='this.blur()'>
<input type=radio name='AgregarF$i' value='0' checked='checked' style='display:none;' onFocus='this.blur()'>
</div>";
echo "<div>".$SumarFechaVto."</div>";

$sql=mysql_query("UPDATE pagos SET importe='$p_importe', pagado='$p_pagado', fecha_vto='$p_fechita' WHERE id=$id");
if(mysql_num_rows($sql)<1){
echo "Registro actualizado...!";
}else{
echo "Registro no actualizado...!";
}

_________________

GameServers & WebHosting Provider
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
Dragon-Black
Yo soy el foro
Yo soy el foro


Registrado: 19 May 2006
Mensajes: 2974
Ubicación: Pregúntale a tu servidor de DNS.

MensajePublicado: Sab Ene 30, 2010 2:25 am    Título del mensaje: Responder citando
No entendí.. quieres sumar días o meses ¿?...

Si es días, puedes modificar tu función sumarMeses..
Código:
<?
function sumaDias($fecha,$dias){
   list($year,$mon,$day) = explode('-',$fecha);
   return date('Y-m-d',mktime(0,0,0,$mon,$day,$year)+$dias*86400);//86400 son los segundos de un día
}
?>

_________________
Cuando bebas agua, recuerda la fuente


http://Blog.onZeroPK.es
Folow me on Twitter

Joder, It's My life !!!!
Volver arriba
Ver perfil del usuario Enviar mensaje privado MSN Messenger
xtremer
Yo soy el foro
Yo soy el foro


Registrado: 22 Dic 2006
Mensajes: 1113

MensajePublicado: Sab Ene 30, 2010 12:08 pm    Título del mensaje: Responder citando
nono yo antes ya la vi esa function, pero la modifique con la intencion que sume 1mes, ya que la fecha de vto de las facturas sera con el agregado de 1mes y no 30dias exactos.
Digo 1mes ya que de esta forma quiero que me sume de forma automatica los 28,29,30,31dias dependiendo de la fecha que se trate .
_________________

GameServers & WebHosting Provider
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
Dragon-Black
Yo soy el foro
Yo soy el foro


Registrado: 19 May 2006
Mensajes: 2974
Ubicación: Pregúntale a tu servidor de DNS.

MensajePublicado: Sab Ene 30, 2010 6:30 pm    Título del mensaje: Responder citando
no entiendo que haces en la parte de abajo, fuera del metodo.. explicas?
_________________
Cuando bebas agua, recuerda la fuente


http://Blog.onZeroPK.es
Folow me on Twitter

Joder, It's My life !!!!
Volver arriba
Ver perfil del usuario Enviar mensaje privado MSN Messenger
xtremer
Yo soy el foro
Yo soy el foro


Registrado: 22 Dic 2006
Mensajes: 1113

MensajePublicado: Sab Ene 30, 2010 6:37 pm    Título del mensaje: Responder citando
En que parte?

Esta parte? o cual? o la de abajo de todo antes de insertar?
Código:

$xtest=substr($dias_diferencia,0,3);
if($xtest<5){
$valor2="
<div>".$dias_diferencia." dias</div>";
}
if($xtest>5){
$valor2="
<div>".$dias_diferencia." dias</div>";
}

_________________

GameServers & WebHosting Provider
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
Dragon-Black
Yo soy el foro
Yo soy el foro


Registrado: 19 May 2006
Mensajes: 2974
Ubicación: Pregúntale a tu servidor de DNS.

MensajePublicado: Sab Ene 30, 2010 6:39 pm    Título del mensaje: Responder citando
me refiero a todo lo que hay abajo de la función.. una descripción breve, por cierto creo que te falta una o dos llaves
_________________
Cuando bebas agua, recuerda la fuente


http://Blog.onZeroPK.es
Folow me on Twitter

Joder, It's My life !!!!
Volver arriba
Ver perfil del usuario Enviar mensaje privado MSN Messenger
xtremer
Yo soy el foro
Yo soy el foro


Registrado: 22 Dic 2006
Mensajes: 1113

MensajePublicado: Sab Ene 30, 2010 6:52 pm    Título del mensaje: Responder citando
Si, talvez, xq como corte mucho codigo para mostrar xD talvez me comi alguna llave. Con respecto a lo que me dices ya te entendi.. xD

Lo que hace es..
1-Sacar la diferencia de dias que faltan para que se cumpla la fecha de vto, es decir restar la fecha actual y la fecha de vto, para que me muestre cuantos dias restan para que se cumpla.
En caso de que el nro de dias sea inferior a "5" se muestre la letra de color rojo, caso contrario muestre color comun (eso no aparece xq sake todo el css)
2-Un boton en el cual puedo agregar una nueva fecha de vto, con solo tildar el radio que se muestra, lo hice de esta manera para no marcar errores debido a que son muchos los campos que se muestran, y de otra manera marca errores y hace otra cosa, y fue la forma mas adecuada que me parecio.

Finalmente ingreso los datos, actualizando los datos que yo escogi.
Los que no tilde no se cambian porque hay un "checked" con php, que verifica si el campo en MYSQL es valor 0 o 1, que es como si fuera true o false, si es 1 ej. va a estar tildado tal campo, caso contrario el otro. De tal manera que no actualize todos los datos, sino solo el que quiera cambiar.
_________________

GameServers & WebHosting Provider
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
xtremer
Yo soy el foro
Yo soy el foro


Registrado: 22 Dic 2006
Mensajes: 1113

MensajePublicado: Vie Feb 05, 2010 3:01 pm    Título del mensaje: Responder citando
Me pueden ayudar plis?
Es solo saber si la funcion anda correctamente
Código:

function sumaMes($fecha,$mes){
list($year,$mon,$day) = explode('-',$fecha);
return date('Y-m-d',mktime(0,0,0,$mon+$mes,$day,$year));
}


Es decir si la fecha es 28,29,30 o 31 si suma bien el MES para hacer la fecha de vto, porque la fecha de vencimiento que estoy estimando es sumado 1mes a la fecha actual.
Ej. Si yo compre el dia 5/02/10 la fecha de vto seria 5/03/10
Algo asi me refiero, espero q me puedan ayudar es importante.
_________________

GameServers & WebHosting Provider
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
BenJa - KuMo
Yo soy el foro
Yo soy el foro


Registrado: 14 Ago 2006
Mensajes: 3489
Ubicación: España

MensajePublicado: Sab Feb 06, 2010 6:50 pm    Título del mensaje: Responder citando
Si haces el script cuando se compre, pones date("d-m-Y") para la actual y para calcular la de vencimiento haces una función que según sean los meses que se contrate, más sumando meses, cuando se llegue al 12, sumas 1 año y empieza por el mes 1 otra vez. La devolución de esa función que sea un string con la fecha ya formateada.
_________________

Web de Metal Slug y Kof!!

Web en Español de Project Zero!!
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo Visitar sitio web del autor MSN Messenger
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Webmasters Todas las horas están en GMT + 1 Hora
Página 1 de 1
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
 
Articulos relacionados
En General >> ayuda para descargar vista.
En Webmasters >> [AYUDA] PHP SUBMIT?
En Webmasters >> [AYUDA] PHP SCRIPT
En General >> No puedo recuperar mi documentos. Ayuda
En Hardware >> Ayuda porfavor eleccion de pc a medid...
 

 
Foroz comunity Tema RSS 




by phpBB  
informatica Videos graciosos webmasters theme by Scott Stubblefield Top foroz