Foros del Web » Programando para Internet » PHP »

Incrementar número cada cierto tiempo

Estas en el tema de Incrementar número cada cierto tiempo en el foro de PHP en Foros del Web. Buenas... voy a hacer una web en php, que aparezca el contenido de una tabla... Bueno, ese no es el problema. Se mostrará así: NOMBRE ...
  #1 (permalink)  
Antiguo 31/10/2010, 05:45
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 1
Incrementar número cada cierto tiempo

Buenas... voy a hacer una web en php, que aparezca el contenido de una tabla...
Bueno, ese no es el problema. Se mostrará así:
NOMBRE
(Número asignado) Años
(Número asignado) Meses
COMENTARIOS

Me gustaría, que cada vez que pase un mes, el número del mes aumente 1 más, y que cuando llegue a 12, empiece de nuevo por 1, pero que se le añada 1 año más.
¿Saben como? Gracias de antemano ;)
Es como una cuenta adelante...
  #2 (permalink)  
Antiguo 31/10/2010, 06:07
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Incrementar número cada cierto tiempo

OK, se me ocurre que para hacer eso debes tener una variable que indique el tiempo inicial. Luego calculas el tiempo en meses y años que ha pasado. Si el año es mayor que cero se muestra, sino no. El código sería algo así:

Código PHP:
$inicio mktime(0001020101);  // tiempo en timestamp del 1ro de octumbre del 2010

$hoy mktime();                                  // tiempo en timestamp actual

$tDiff $hoy $inicio;                           // Diferencia de tiempos en segundos;

$meses round($tDiff 30 3600 24);  // tiempo en meses
$anios round($tDiff 30 12 3600 24// tiempo en años 
Servido.
  #3 (permalink)  
Antiguo 31/10/2010, 06:09
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Incrementar número cada cierto tiempo

Ok... pero yo quiero que se incremente en la base de datos, no en php.
  #4 (permalink)  
Antiguo 31/10/2010, 06:12
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Incrementar número cada cierto tiempo

Entonces guarda los resultados en tu DB.
  #5 (permalink)  
Antiguo 31/10/2010, 06:21
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Incrementar número cada cierto tiempo

Cita:
Iniciado por ElJavista Ver Mensaje
Entonces guarda los resultados en tu DB.
Ok... pero esque soy principiante y no se mucho de esto, no sé ni el significado de tu código xd...
  #6 (permalink)  
Antiguo 31/10/2010, 06:26
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Incrementar número cada cierto tiempo

Entonces deberías darte una base leyendo algún manual de PHP. No crees que antes de saltar debes ver donde vas a caer? De nada serviría ponerte aquí una introducción a PHP si eso hay en cantidades industriales en la web. Solo busca y aprende algo de PHP y de acceso a una base de datos MySQL. Suerte!
  #7 (permalink)  
Antiguo 31/10/2010, 06:34
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Incrementar número cada cierto tiempo

Si sé lo básico y algo de avanzado... pero esque no sé como pasarlo a mysql...
  #8 (permalink)  
Antiguo 31/10/2010, 06:50
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Incrementar número cada cierto tiempo

No dijiste que no entendiste mi código? estás jugando conmigo que? Solo aprende eso, manejo de MySQL con PHP. Nada más. Ya sabes que en la Red hay cantidad de información.
  #9 (permalink)  
Antiguo 31/10/2010, 11:14
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Incrementar número cada cierto tiempo

No, esque lo pongo y no me sale nada, y entonces no lo entiendo :S
  #10 (permalink)  
Antiguo 31/10/2010, 11:49
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Incrementar número cada cierto tiempo

Entonces definitivamente sabes demasiado poco. No se supone que salga nada, porque no hay ningún echo. Pero las variables si contienen esos datos, es cuestión de que les hagas un echo. Y así dices que sabes lo básico y algo de avanzado? Haré un intento más, a ver muestrame tu código para ver qué tienes.
  #11 (permalink)  
Antiguo 31/10/2010, 12:11
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Incrementar número cada cierto tiempo

Cita:
Iniciado por ElJavista Ver Mensaje
Entonces definitivamente sabes demasiado poco. No se supone que salga nada, porque no hay ningún echo. Pero las variables si contienen esos datos, es cuestión de que les hagas un echo. Y así dices que sabes lo básico y algo de avanzado? Haré un intento más, a ver muestrame tu código para ver qué tienes.
El código es mostrar contenido de la tabla de la base de datos... es este:
Código:
<?php
$kekos = mysql_query("SELECT * FROM `boomkekos` ORDER BY `id` DESC") or die ("No hay kekos disponibles.");
while($keko = mysql_fetch_assoc($kekos)) {
echo'<div class="ficha">
<div class="titulo"></div>
<div><img src="images/nombre.png"> '.htmlspecialchars($keko['nombrekeko']).'</div>
<div><img src="images/contraseña.png"> '.htmlspecialchars($keko['contraseñakeko']).'</div>
<div><img src="images/años.png"> '.htmlspecialchars($keko['añokeko']).'</div>
<div><img src="images/meses.png"> '.htmlspecialchars($keko['meskeko']).'</div>
<div><img src="images/extras.png"> '.htmlspecialchars($keko['extrakeko']).'</div></div><br><br>
';
}
?>
Url para verlo: http://magicbang.webcindario.com/BoomKekos
  #12 (permalink)  
Antiguo 31/10/2010, 12:20
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Incrementar número cada cierto tiempo

Oye amigo, ambos hablamos español? por qué me muestras ese código? qué hago con ese código? te pedí que me muestres el código que yo te di, quiero ver como lo estás aplicando. O ese código que me acabas de dar es para otra consulta?
  #13 (permalink)  
Antiguo 31/10/2010, 12:29
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Incrementar número cada cierto tiempo

Cita:
Iniciado por ElJavista Ver Mensaje
Oye amigo, ambos hablamos español? por qué me muestras ese código? qué hago con ese código? te pedí que me muestres el código que yo te di, quiero ver como lo estás aplicando. O ese código que me acabas de dar es para otra consulta?
Ah no xD, es el que uso en mi web xD

El tuyo lo uso así:
Código:
$inicio = mktime(0, 0, 0, 10, 2010, 1);  // tiempo en timestamp del 1ro de octumbre del 2010

$hoy = mktime();                                  // tiempo en timestamp actual

$tDiff = $hoy - $inicio;                           // Diferencia de tiempos en segundos;

$meses = round($tDiff / 30 * 3600 * 24);  // tiempo en meses
$anios = round($tDiff / 30 * 12 * 3600 * 24); // tiempo en años
echo (aquí he probado con todas las variables, y salen números raros :S);
EDITO: Tengo otra duda... en el documento pongo:
Hola, me llamo sergicion.
Y me gustaría que cada letra se sustituyera por una imagen... es posible?

Última edición por sergicion; 31/10/2010 a las 12:34
  #14 (permalink)  
Antiguo 31/10/2010, 12:51
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Incrementar número cada cierto tiempo

Ok, lo lamento, estaba mal en dos cosas, esta es la solución:

Código PHP:
$inicio mktime(0001012010);  // tiempo en timestamp del 1ro de octumbre del 2010

$hoy mktime();                                  // tiempo en timestamp actual

$tDiff $hoy $inicio;                           // Diferencia de tiempos en segundos;

$meses floor($tDiff / (30 3600 24));  // tiempo en meses
$anios floor($tDiff / (30 12 3600 24)); // tiempo en años
echo "$meses, $anios"
Si te das cuenta, mktime debe recibir como quinto parámetro el día y no el año y como sexto el año y no el día, lo había puesto al revés. Otra cosa es que debí haber puesto entre paréntesis el producto de esos números que dividen a la diferencia de tiempos. Eso sería todo, pruébalo y me dices.
  #15 (permalink)  
Antiguo 31/10/2010, 15:24
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Incrementar número cada cierto tiempo

Cita:
Iniciado por ElJavista Ver Mensaje
Ok, lo lamento, estaba mal en dos cosas, esta es la solución:

Código PHP:
$inicio mktime(0001012010);  // tiempo en timestamp del 1ro de octumbre del 2010

$hoy mktime();                                  // tiempo en timestamp actual

$tDiff $hoy $inicio;                           // Diferencia de tiempos en segundos;

$meses floor($tDiff / (30 3600 24));  // tiempo en meses
$anios floor($tDiff / (30 12 3600 24)); // tiempo en años
echo "$meses, $anios"
Si te das cuenta, mktime debe recibir como quinto parámetro el día y no el año y como sexto el año y no el día, lo había puesto al revés. Otra cosa es que debí haber puesto entre paréntesis el producto de esos números que dividen a la diferencia de tiempos. Eso sería todo, pruébalo y me dices.
Ok gracias... ahora como lo paso a mysql?
  #16 (permalink)  
Antiguo 31/10/2010, 15:28
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Incrementar número cada cierto tiempo

Tampoco no lo vas a querer todo servidito. Debes aprender como guardar registros en MySQL. Hay manuales sobre eso, de nada serviría darte el código, mejor aprende por ti mismo.

Por otro lado y esto si que espero que respondas. De qué sirve guardar eso en MySQL? Pensé que lo que importa es mostrarlo, para qué guardarlo?
  #17 (permalink)  
Antiguo 31/10/2010, 15:36
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Incrementar número cada cierto tiempo

Antes de preguntar cualquier cosa, se debe saber lo basico al menos.. O como te dicen, quieres todo servidito verdad? Asi no es la cosa aca :P
Como siempre he dicho; aca estamos para resolver problemas, no para hacerle el trabajo a la gente... Digo, si ya te dieron la respuesta, al menos tomate la molestia de adaptarlo a tus necesitades....

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #18 (permalink)  
Antiguo 31/10/2010, 15:39
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Incrementar número cada cierto tiempo

Tengo un panel de administración que guarda los datos en una tabla, y luego los muestra...
He leído cosas, pero no sé como hacerlo...
  #19 (permalink)  
Antiguo 31/10/2010, 15:57
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Incrementar número cada cierto tiempo

Ahi esta, ya te hicieron casi todo haya arriba
Ahora es cuestion de, igual como guardas los datos de tu panel, guardar lo que obtienes del codigo que te dieron y ya...
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #20 (permalink)  
Antiguo 31/10/2010, 15:58
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Incrementar número cada cierto tiempo

Bien, no lo sabes, pero puedes aprender, en este foro no esperes todo, espera ayuda, no el código en si. Ya sabes la información que debes buscar. No creo que seas incapaz de buscar un manual sobre cómo guardar registros en MySQL.

Además, te digo algo, no hace falta guardar esa información en MySQL. Los meses pasados ni los años, solo imprímelas donde debe estar. Te lo digo porque esa información varía con el tiempo, y el registro que hoy se ha guardado no sirve para el proximo valor, es otro mes. Por algo se calcula en ese mismo momento. No lo guardes, solo muéstralo. Pero de todas maneras debes buscar un manual de MySQL. Suerte!
  #21 (permalink)  
Antiguo 31/10/2010, 16:57
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Incrementar número cada cierto tiempo

He hecho este código, pero... ¿me podrían completar el código donde yo lo escribo? (ya tengo hecho la conexion a la base de datos). Gracias.
Código:
<?php
$dia = date("j");
$meses = array ("Diciembre", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre");
$mes = $meses[date('n')];
$ano = date("Y");
if ($dia = 30) {
(aquí debería poner aumentar un mes más a todos los registros de la tabla)
}
?>
Y una preguntita... voy a poner otro if, y en las condiciones me gustaría poner que si en los registros de la base de datos hay 13 meses, que cambie a 1 y añada otro año más...
A ver si damos con la tecla, es urgente...

Ah, y sé que no quedaría todo perfecto, pero sólo debe ser aproximado...
  #22 (permalink)  
Antiguo 31/10/2010, 17:16
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Incrementar número cada cierto tiempo

No entiendo lo que quieres hacer, además el if está mal ahí debe ser if ($dia == 30), doble igual. Ahorita tengo que irme, mañana veré ese asunto.
  #23 (permalink)  
Antiguo 31/10/2010, 17:20
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Incrementar número cada cierto tiempo

Cita:
Iniciado por ElJavista Ver Mensaje
No entiendo lo que quieres hacer, además el if está mal ahí debe ser if ($dia == 30), doble igual. Ahorita tengo que irme, mañana veré ese asunto.
Ok, esque lo hice rapido... xdd
  #24 (permalink)  
Antiguo 31/10/2010, 17:56
 
Fecha de Ingreso: enero-2008
Mensajes: 132
Antigüedad: 16 años, 10 meses
Puntos: 6
Respuesta: Incrementar número cada cierto tiempo

Código PHP:
<?php
$dia 
date("j");
$meses = array ("Diciembre""Enero""Febrero""Marzo""Abril""Mayo""Junio""Julio""Agosto""Septiembre""Octubre""Noviembre");
$mes $meses[date('n')];
$ano date("Y");
if(
$dia == 30)
    {
    
mysql_query("UPDATE boomkekos SET mes=mes+1");
    }
?>
__________________
surfiction.org
  #25 (permalink)  
Antiguo 01/11/2010, 04:10
 
Fecha de Ingreso: octubre-2010
Mensajes: 77
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Incrementar número cada cierto tiempo

Cita:
Iniciado por Surfiction Ver Mensaje
Código PHP:
<?php
$dia 
date("j");
$meses = array ("Diciembre""Enero""Febrero""Marzo""Abril""Mayo""Junio""Julio""Agosto""Septiembre""Octubre""Noviembre");
$mes $meses[date('n')];
$ano date("Y");
if(
$dia == 30)
    {
    
mysql_query("UPDATE boomkekos SET mes=mes+1");
    }
?>
Muchísimas gracias... ahora ¿me podrían decir como hago el if para crecer 1 año más y cambiar el mes a 1? Gracias!!
EDITO: ¿Cómo hago para que sólo aumente una vez? No paran de salir meses xD

Última edición por sergicion; 01/11/2010 a las 04:24
  #26 (permalink)  
Antiguo 02/11/2010, 20:16
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Incrementar número cada cierto tiempo

Estás enfocando mal las cosas sergicion, en tu mente sigue la idea de incrementar unos números cada vez que pase cierto tiempo, pero eso no es práctico. Eso es como incrementar un número por cada minuto. Mejor calcula el número de minutos que ha transcurrido desde un momento determinado. Es igual para este caso. Mejor calcula cuantos meses y años han pasado desde cierta fecha. Ya te di ese código y no hace falta guardar nada, solo mostrarlo. No entiendo porque no comprendes si ya te lo he explicado. Esa es tu solución, pero tú insistes en guardar el número e incrementarlo cada mes, lo cual ya te expliqué no es práctico. Espero que esta vez si me hayas entendido. Suerte!

Etiquetas: incrementar
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 14:44.