Foros del Web » Programando para Internet » PHP »

Incrementar valor de un campo

Estas en el tema de Incrementar valor de un campo en el foro de PHP en Foros del Web. Hola buenas a todos!!. Necesito, incrementar el valor de un campo de una tabla de mi base de datos, cada 5 segundos o cada 10 ...
  #1 (permalink)  
Antiguo 28/10/2007, 15:26
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Incrementar valor de un campo

Hola buenas a todos!!.

Necesito, incrementar el valor de un campo de una tabla de mi base de datos, cada 5 segundos o cada 10 segundos, pero no se como hacerlo. Se hacer la sentencia de incrementacion con sql perfectamente , lo que no se es como decirle que se repita cada x segundos. Esto se podria hacer con php o se ha de hacer directamente en la base de datos?

Alguien me puede ayudar? xD Gracias como siempre por vuestras respuestas!!
  #2 (permalink)  
Antiguo 28/10/2007, 15:42
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Incrementar valor de un campo

Tendrias que usar cron jobs para que se te actualice el script.
Creo yo, si no me equivoco.
Asi cada vez que se te ejecuta, le vas agregando el valor de incrementacion a ese campo.

Saludos.
  #3 (permalink)  
Antiguo 28/10/2007, 16:00
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Incrementar valor de un campo

Y como se hace eso? Y otra cosa como puedo hacer que se ejecute siempre? Porque he de incrementarlo las 24 horas del dia, seria como un contador que no para de funcionar, sabes?

Estoy un pelin perdido en la forma de hacerlo, si alguien me hecha una manilla xD Gracias!
  #4 (permalink)  
Antiguo 28/10/2007, 16:53
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Incrementar valor de un campo

Alguna idea? :(
  #5 (permalink)  
Antiguo 28/10/2007, 18:59
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Incrementar valor de un campo

Perdón... es necesario que incrementes el valor? No sería mejor que cuentes los segundos que pasaron y hagas la cuenta?
  #6 (permalink)  
Antiguo 29/10/2007, 12:42
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Incrementar valor de un campo

Si es necesario que incremente el valor cada x segundos. Necesito incrementar un valor de cada usuario de mi web cada x segundos, es fundamental. La web tratara de un juego y se trata de actualizar e ir incrementando los recursos.

A parte tendre que incrementarlo segun los datos de su cuenta.

Y creo que necesito hacerlo como una consulta en la bdd ya que esto se ha de ejecutar este el user logeado o no, osea siempre.

Por favor si alguien me prestara su ayuda para guiarme sobre como hacerlo se lo agradeceria mucho.

Gracias a todos por vuestro tiempo!!!
  #7 (permalink)  
Antiguo 29/10/2007, 14:00
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Incrementar valor de un campo

Alguna idea? :(
  #8 (permalink)  
Antiguo 29/10/2007, 14:11
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Incrementar valor de un campo

Tenés dos opciones, o buscas sobre "cron jobs", para ejecutar el código periodicamente, o lo pensás al revés, como te decía... Guardas el momento "inicial", y lo que hacés no es contar los recursos que le quedan, sino los que gastó, entonces hacés (time() - $inicial) / 5 - $recursos_usados
Me parece que está solución es bastante más óptima que tener un código corriendo 17.280 veces por día.
  #9 (permalink)  
Antiguo 29/10/2007, 14:13
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Incrementar valor de un campo

Ok... si estas en linux investiga de cronjob y si estas en windows investiga de Tareas Programadas.

Lo que debes hacer es crear un script que actualice la base de datos y dejarlo con algun nombre extraño para que no accesen a ella con facilidad.

Lo otro que debes hacer es crearte una tarea programada (o cronjob que es lo mismo) que se ejecute cada 5 segundos. De esta manera lo que le dices al cronjob o tarea es que cada 5 segundos abra la pagina que tiene este script.

El problema de esto es que te actualizara cada 5 segundos la misma tabla y el mismo dato... y segun lo que logre entender... tu necesitas ir actualizando a un usuario o a alguien mas.

Creo que deberias pensar en buscar informacion acerca de otra tecnologia como flash que tiene un timer o cambiar la estructura del juego para hacer lo mismo pero de otra manera.

Piensalo y cuentanos tu decision.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #10 (permalink)  
Antiguo 29/10/2007, 15:06
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Incrementar valor de un campo

Buenas muchas gracias por las respuestas!!!, pues si debo incrementar cada 10 segundos mas o menos (tambien puede ser cada 30), 4 campos de la tabla users, osea 4 campos x usuarios registrados.

La opcion que mas me gusta es la de usar el Administrador de tareas, me muevo mejor en windows que en linux la verdad. El problema es no tengo la bdd hosteada en mi pc, sino que la tengo en un host de internet, el script que haga, puede ser un php que se conecte a la bdd y realize lo que pido, o tiene que ser en algun lenjuage determinado? Gracias y espero vuestras respuestas con ansia!! jeje

Gracias amigos ;)
  #11 (permalink)  
Antiguo 29/10/2007, 15:15
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Incrementar valor de un campo

No deberia importarte mucho el lenguaje... y como supongo tienes acceso al servidor que tiene la base de datos, lo que puedes hacer es crear el script en ese servidor en el lenguaje que quieras o que dispongas y luego hacer la tarea programada para que abra esa pagina.

Tambien recuerda agregarle algun identificador por medio de la ruta, ya sea por get o por post para que puedas validar que tu estas llamando a la pagina y no alguien mas.

Bueno... suerte en lo que viene y cualquier cosa trataremos de responderte ;)
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #12 (permalink)  
Antiguo 29/10/2007, 15:25
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Incrementar valor de un campo

buah primer problema ya, windows me pide la pasword de mi cuenta de windows, aunque me deja no ponerla, si no la pongo la tarea no se ejecuta, empezamos mal, imposible acordarme del pw
  #13 (permalink)  
Antiguo 29/10/2007, 15:51
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Incrementar valor de un campo

xD.... no tienes algun administrador de redes en donde estas para solicitarle un cambio de password ?...

Por lo general conviene que agregues tu password en algun programa ;) siempre es bueno tener sus "digital post it"

Suerte men!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #14 (permalink)  
Antiguo 29/10/2007, 16:26
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Incrementar valor de un campo

Bueno me baje el Visualcron que es un programa como el cron para linux, le pongo la tarea cargo el archivo php, y lo ejecuto, pero no veo ningun cambio en la bdd...

Aqui esta el codigo del script quizas he cometido algun error y no lo veo:

Código PHP:
<?php
function Conectarse()
{
   if (!(
$link=mysql_connect("x","y","z")))
   {
      echo 
"Error conectando a la base de datos.";
      exit();
   }
   if (!
mysql_select_db("t",$link))
   {
      echo 
"Error seleccionando la base de datos.";
      exit();
   }
   return 
$link;
}
$link=Conectarse();

$sql "UPDATE Informacion SET quer = quer + 1 WHERE id_usuario='31'"
mysql_query($sql);

?>
  #15 (permalink)  
Antiguo 29/10/2007, 16:32
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Incrementar valor de un campo

Y en donde registras si se hace el update o no ?...

Agregale un if con ! al mysql_query()
Código PHP:
if(!mysql_query($sql)){ //sino lo hace
      //aca algo haces

Tambien es bueno que todas las salidas en echo pasen a un archivo de texto plano para llevar un mini log de las actividades que sucedan con el script y agregale a todas las funciones mysql_ un or die("Error ."mysql_error())

En el caso que vayas a escribir un archivo el "Error ."mysql_error() envialo al archivo tambien.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #16 (permalink)  
Antiguo 29/10/2007, 16:39
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Incrementar valor de un campo

Ya Ya es que solo estoy probando que me incremente 1 a ese campo pa ver que funciona pero no es asi... no me toca nada de la bdd, nose porque sera :(
  #17 (permalink)  
Antiguo 29/10/2007, 18:00
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Incrementar valor de un campo

Por eso ponle or die("Error: ".mysql_error()) porque tal vez tienes un problema que no vemos.

Tambien pone en la primera linea error_reporting(E_ALL^E_NOTICE); para sacar mas conclusiones.

Suerte
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #18 (permalink)  
Antiguo 29/10/2007, 18:10
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Incrementar valor de un campo

Pero si yo no veo que se ejecute el script ni nada.. es algo interno, no devuelve nada o almenos eso me pasa, simplemente el proceso ejecuta el script (supongo) y poco mas, pero vamos que no devuelve ni abre nada.


Saludos!
  #19 (permalink)  
Antiguo 29/10/2007, 18:16
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Incrementar valor de un campo

Mmm... probaste un codigo cualquiera para ver si php esta andando ?...

Algo como:
Código PHP:
<?
   phpinfo
();
?>
Si no lo ejecuta es porque ya es un problema directo de php. Tambien trata de acceder directamente por el web para ver si funciona o no.

La verdad es que es raro que no haga nada.

Suerte
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
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 17:40.