Foros del Web » Programando para Internet » PHP »

Contador en PHP

Estas en el tema de Contador en PHP en el foro de PHP en Foros del Web. Hola: Quiero hacer dos contadores en PHP para un periódico en línea que estoy haciendo. El primero va así. Por ejemplo el día de hoy ...
  #1 (permalink)  
Antiguo 21/02/2013, 10:24
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 4 meses
Puntos: 15
Contador en PHP

Hola:

Quiero hacer dos contadores en PHP para un periódico en línea que estoy haciendo.

El primero va así. Por ejemplo el día de hoy es el número 19997, y quiero que cada día vaya sumando un número más.

En el segundo quiero mostrar el año del periódico. Este es el año 60 ¿Cómo le hago para que cuando avance de año sea el 61) Lo que pensaba era esto. Si estamos en el 2013 le pido a PHP la fecha con solo los últimos dos dígitos, y si la diferencia entre 60 y 13 es 47, entonces le sumo 47 al año y ya sale el año del periódico.

Gracias
  #2 (permalink)  
Antiguo 21/02/2013, 11:05
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Contador en PHP

En ambos caso necesitas de una base de datos, o un simple archivo de texto para almacenar ciertos valores. Además fijar los valores iniciales

Para lo primero

$anio = 2013;
$numero_inicial = 19997;
$dia_inicial = 51; // esto es para hoy, 21 de febrero


Si ves los valores que devuelve date()
z = El día del año (comenzando por 0)0 hasta 365

$anio = 60;
$numero_inicial = 19997;
$dia_inicial = 51; // esto es para hoy, 21 de febrero
$dia_anio = date('z');// hoy te devolvería 51, mañana 52
$dif_dias = $dia_anio-$dia_inicial; //hoy seria 0
$numero_actual = $numero_inical+dif_dias;

$anio_actual = $anio;
Es decir, que mañana $dif_dias será 1 y el numero actual 19998, ahora las tres primeras variables las tenés que sacar como indique de una BD ó un txt, ya que cuando cambie el anio $dia_anio volverá a ser 0, y tendrás que poner una condición para que en ese momento actualizar la bd ó reescribir el txt.

Con el año de publicación, aprovechas el día 0 (que corresponde obviamente al 1º de enero) para que $anio_actual sea igual a $anio_actual+1

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 21/02/2013, 11:30
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Contador en PHP

Hola que tal.

Si no interpreto mal, todo lo deseas hacer en base a la fecha en la cuan fue fundado el periódico, eso espero

Prueba con esto y comentas

Código PHP:

$anioPeriodico 
1960;
$anioActual date"Y" );

echo 
$aniosTranscurridos $anioActual $anioPeriodico;
echo 
'<br>';

function 
dias_diferencia($date1$date2)
{
    
$dias_1 '';
    
$dias_2 '';
    
$result '';
    if (!
is_integer($date1)) $dias_1strtotime($date1);
    if (!
is_integer($date2)) $dias_2 strtotime($date2);
   
$result floor(abs($dias_1 $dias_2) / 60 60 24);
   return 
$result;
}


$fundacionPeriodico "1960-10-13";
$fechaActual date"Y-m-d" );

$totalDias dias_diferencia$fechaActual$fundacionPeriodico );

echo 
$totalDias;
echo 
'<br>'
Los resultados se actualizan con el paso de los días.

Saludos

Nota: para calcular la diferencia de días tambien puedes utilizar http://php.net/manual/es/function.date-diff.php
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125

Última edición por skiper0125; 21/02/2013 a las 11:36
  #4 (permalink)  
Antiguo 22/02/2013, 14:46
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Contador en PHP

No, yo digo algo asi

Código PHP:
Ver original
  1. <?php
  2. // El año
  3. $anio_inicial = 1953;
  4. $anio_actual = date('Y');
  5. $anio_actual = (int)$anio_actual;
  6. $anio = $anio_actual-$anio_inicial;
  7.  
  8. // El número
  9. // archivo de texto creado previamente con permisos de escritura, el valor inicial debe ser 19997|52
  10. // es decir numero_de_ejemplares|valor retornado por date('z'); para el día de inicio del contador
  11. $f = file_get_contents('valores.txt');
  12. $valores = explode('|',$f);
  13.  
  14. $dia_inicial = $valores[1]; //
  15.  
  16.  
  17. $dia_numero = date('z');
  18. if($dia_inicial == $dia_numero){
  19. $numero_inicial = $valores[0];
  20. }else{
  21.     $numero_inicial = $valores[0];
  22.     $numero_inicial = (int)$numero_inicial;
  23.     $numero_inicial = $numero_inicial+1;
  24.     file_put_contents('valores.txt',"$numero_inicial|$dia_numero", LOCK_EX); // si hubo cambios, reescribimos el archivo de valores
  25. }
  26.  
  27. // El mensaje
  28. echo "Periódico nº : $numero_inicial, Año: $anio";
  29. ?>
Por supuesto esto es asumiendo que el diario sale a la 0 horas de cada día

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 22/02/2013 a las 14:52

Etiquetas: contador
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:57.