PHP - PHP script de 30 dias premium

 
Vista:

PHP script de 30 dias premium

Publicado por lesity (2 intervenciones) el 11/12/2013 10:07:31
Hola buenas.

Tengo un script de PHP para una pagina donde se compra premium que dura un mes.

El problema es que no cuenta bien los dias hasta que se acaba el premium, por ejemplo si tengo una cuenta1 y compro premium con ella, dura 30 dias. Al cabo de 5 dias marca que faltan 25 dias, por lo que es correcto, pero si otra cuenta en la web compra tambien 30 dias premium, marca 25 dias desde el principio.

Este es el codigo:

1
2
3
4
5
6
7
8
9
function time_reset()
{
    $now = time();
    DB::select('accounts');
    $timer = DB::fetch_row();
    $timer = $timer['reset_timer'];
    $difference = ($now - $timer);
    return (2629743 - $difference);
}


Creo que es por el fetch_row que seleciona automaticamente el primer valor de la columna reset_timer, pero mis conocimientos de php son casi 0.

Esta es la base de datos accounts: Link : http://i.stack.imgur.com/x7vhb.png



Agradezco cualquier tipo de ayuda!

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

PHP script de 30 dias premium

Publicado por xve (6935 intervenciones) el 11/12/2013 12:03:55
Hola lesity, aqui no seleccionas ningun registro en concreto... no se como lo tienes montado, pero tendrias que hacer un select en la base de datos para buscar el registro que quires contar el tiempo.

Por ejemplo si quieres contar el tiempo del registro con id 27 seria algo así:
1
SELECT * FROM accounts WHERE id=27

Lo que no se donde tienes ese valor guardado para cada usuario.

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHP script de 30 dias premium

Publicado por lesity (2 intervenciones) el 11/12/2013 12:58:20
Gracias por la respuesta xve

Esta un poco raro montado y no tengo mucha idea..

Resulta que el fetch row por lo que me an dicho seleciona el primer reset_timer value de la tabla y lo aplica para todos.

Digamos que hubiesen 40 usuarios, 30 de ellos con premium, serian 30 valores de reset_timer distintos para cada usuario.

Lo que necesito es que "lea" cada reset_timer value para cada respectivo usuario.

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

PHP script de 30 dias premium

Publicado por Elier (92 intervenciones) el 11/12/2013 21:17:50
efectivamente como te dice xve tienes que obtener el registro que corresponde a ese usuario ya sea por el id o por el username. Cuando el usuario inicia session tienes que guardar en una variable de session su id o su username de manera que despues puedas recuperarlo.
1
2
3
4
5
$user_id = $_SESSION['id'];
 
$user = DB::select()->from('accounts')->where('id', $user_id);
 
$timer = $user['reset_timer'];
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar