Foros del Web » Programando para Internet » PHP »

Duda con Cronjobs

Estas en el tema de Duda con Cronjobs en el foro de PHP en Foros del Web. Hola.. , Primero que nada buenas, :) ! a todos los amigos de foros del web.. ! :) bueno lo que sucede es que hice ...
  #1 (permalink)  
Antiguo 07/04/2010, 18:36
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Exclamación Duda con Cronjobs

Hola.. , Primero que nada buenas, :) ! a todos los amigos de foros del web.. ! :)
bueno lo que sucede es que hice una web.. y pues hay un archivo que se tiene que ejecutar cada dia a als 12:00 .. ya utilize CronJob.. y esta bien configurado ..

0 0 * * * y si funciona por q lo probe con otro archivo y si funcionaba, AQUI VIENE EL PROBLEMA :s bUENO resulta que cuando yo abro el archivo metiendome directamente del explorador.. funciona correctamente..! y con el cronjob no..es como si no se ejecutara..

EL PROBLEMA ES EL SIGUIENTE el archivo hace lo siguiente actualiza varios campos en una base de datos.. :S

1ro hace una consulta de quienes tenga la fechafin menor a la fecha actual...
Imprime esos valores en diferentes post , de forma que cada nombre de imput sea distinto y me pueda modificar todos los usuarios que hay salgan.. y depsues con una funcion java cuando pasan 10 seg le hago sumit al form...

Lo que habia pensado es que con el cronjob me habriria el archivo y luego pasados los segundos me enviara todo por post ya que las variables estan por post :S

Algo asi como cuando lo habro Manualmente ..!!

Pero resulta que NO lo hace por q el cronjob lo que hace es ejecutar el codigo que este en el php entoncs bueno, estaba pensando si hay alguna manera de hacer lo mismo sin necesidad que se envie (sumit ) el formulario.. =( !

Aqui esta el codigo para q lo entiendan mejor...
Código PHP:
<HTML> 
<HEAD> 
<TITLE>edicion_a_la_vez.php</TITLE> 
</HEAD> 
<BODY> 
<h1 align="center">Edición de varios registros a la vez</h1> 
<? 
//Conexion con la base 
include ('conexion.php'); 

if (!
$_POST){ 
   
//si no recibo datos de POST, muestro el formulario 
   
   
   //extraemos de la base de datos los registros a mostrar 
   //Ejecutamos la sentencia SQL, limitando la búsqueda a 80 registros 
    
$fecha=date('Y-m-d');
   
$ssql="select * from inversiones where fechafin<='$fecha' limit 80"
   
$result=mysql_query($ssql); 
   echo 
"<form name='formulario' action='funciona5.php' method=post>"
   echo 
"\n<table align=center>"
   echo 
"\n<tr><td><b>Nombre</b></td><td><b>plazo</b></td><td><b>ganancia</b></td></tr>"
   
$i 1
   while (
$fila=mysql_fetch_array($result)){  
        echo 
"\n<input type=text name='fecha$i' value='" $fecha "'>"
         echo 
"<tr>"
      echo 
"\n<input type=text name='email$i' value='" $fila["email"] . "'>"
      echo 
"<tr>"
      echo 
"<tr>"
      echo 
"\n<input type=hidden name='nombre$i' value='" $fila["nombre"] . "'>"
      echo 
"<tr>"
          echo 
"\n<input type=hidden name='id$i' value='" $fila["id"] . "'>"
      echo 
"<tr>"
      echo 
"<td>" $fila["nombre"] . "</td>"
            echo 
"<td><input type=text name='plazo$i' value='" $fila["plazo"] . "'></td>"
      echo 
"</tr>"
        echo 
"<td><input type=text name='ganancia$i' value='" $fila["ganancia"] . "'></td>"
      echo 
"</tr>"
        echo 
"<td><input type=text name='invertido$i' value='" $fila["invertido"] . "'></td>"
      echo 
"</tr>"
       echo 
"<td><input type=text name='renovable$i' value='" $fila["renovable"] . "'></td>"
      echo 
"</tr>"
       echo 
"<td><input type=text name='fechafin$i' value='" $fila["fechafin"] . "'></td>"
      echo 
"</tr>"
      
$i++; 
      
$ultimo_mostrado $fila["nombre"]; 
   } 

   echo 
"\n<tr><td colspan=2 align=center><input type='submit' value='Editar todos'></td></tr>"
   echo 
"\n</table>"
   echo 
"\n</form>"

   
//si se han mostrado registros, (esta parte ya estaba en el codigo que  me base para  ahcerlo. pero  es inecesaria..
   
if (isset($ultimo_mostrado)) 
      echo 
"\n<br><a href='funciona.php?id_mostrar=" $ultimo_mostrado "'>Ver los 10 siguientes</a>"
   }else{ 

   
//es que he recibido datos de formulario, entonces tengo que recibirlos y actualizar la base de datos
   
for ($i=1;$i<=10;$i++){ 
         
//establesco todas las variables.. para cada uno de los que estane n los imput del  formulario.
         
$mail2 "[email protected]";
         
$id $_POST["id" $i]; 
         
$nombre $_POST["nombre" $i]; 
         
$fechaininueva $_POST["fecha" $i];           
         
$plazo $_POST["plazo" $i]; 
          
$ganancia $_POST["ganancia" $i]; 
            
$invertido $_POST["invertido" $i]; 
                
$renovable $_POST["renovable" $i]; 
                
$email $_POST["email" $i]; 
                   
//Aqui empieza el codigo que actualiza las cosas
         
$fechafinnueva=date("Y-m-d"strtotime("$fechaininueva + $plazo days"));
         if (
$renovable>0){ 

         
$ssql "update inversiones set renovable=renovable-1 where id='$id'"
         if ((
mysql_query($ssql))or die(mysql_error()));
         
$ssql3 "update inversiones set fecha='$fechaininueva', fechafin='$fechafinnueva' where id='$id'"
         if ((
mysql_query($ssql3))or die(mysql_error()));
          
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado4=mysql_num_rows ($consulta4);
while(
$row=mysql_fetch_array($consulta4)){
$disponible=$row["disponible"];
}
$ssql2 "update usuarios set disponible=disponible+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql2))or die(mysql_error()));
         
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado2=mysql_num_rows ($consulta2);
while(
$row=mysql_fetch_array($consulta2)){
$disponible2=$row["disponible"];
}
         
$query "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')";
    
mysql_query($query) or die(mysql_error());
         
         
$ssql8 "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql8))or die(mysql_error()));
            
//Aqui se le encia  un msj al usuario despues de haber actualizado.
         
$header 'From: ' $mail2 " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje2 "Hola " $nombre "  Hoy: " $fechaininueva "  \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= " Has Ganado " $ganancia "  Gold de tu inversion en nuestro banco. \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "Ahora tienes:" $disponible2 "  Gold en tu cuenta. \r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "-Puedes ver cuando sera la  proxima fecha de pago, si seleccionaste renovaciones, en ''Mis Inversiones'' en tu panel de usuario \r\n ";
$mensaje2 .="\r\n";
$mensaje2 .="\r\n";
$mensaje2 .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n ";
$mensaje2 .="\r\n";
$asunto2 'Has ganado Gold con tu inversion!.';
mail($email$asunto2utf8_decode($mensaje2), $header); 

} elseif (
$renovable==0) {
 
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
    
$lado4=mysql_num_rows ($consulta4);
while(
$row=mysql_fetch_array($consulta4)){
$disponible=$row["disponible"];
}
$query "UPDATE usuarios SET disponible = disponible+'$ganancia'+'$invertido' where nombre='$nombre'"
mysql_query($query) or die(mysql_error());
         
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'");
$lado2=mysql_num_rows ($consulta2);
while(
$row=mysql_fetch_array($consulta2)){
$disponible2=$row["disponible"];
}
$query "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')";
 
mysql_query($query) or die(mysql_error());
            
//Aqui se borra el  usuario ya que no tiene mas renovaciones..  se borra para q deje de existir en la  tabla  inversiones y asi no lo vuelva a tomar en cuenta..
         
$ssql8 "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'"
         if ((
mysql_query($ssql8))or die(mysql_error()));
            
//Se envia  el  el  mismo mensaje pero esta  ves  es  para los usuarios que ya  no  le quedan inversiones
                  
$header 'From: ' $mail2 " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje "Hola " $nombre "  Hoy: " $fechaininueva "  \r\n";
$mensaje ."\r\n";
$mensaje .= " Tu inversion con ID " $id "  A FINALIZADO!\r\n";
$mensaje .="\r\n";
$mensaje .= "-Has Ganado " $ganancia "  y te hemos  devuelto lo  invertido ".$invertido." Gold  \r\n ";
$mensaje .="\r\n";
$mensaje .= "Ahora tienes:" $disponible2 "  Gold en tu cuenta. \r\n";
$mensaje .="\r\n";
$mensaje .= "-Vuelve a invertir en Nuestro Banco! , Revisa esta inversion en Inversiones Finalizadas, en ''Mis Inversiones'' en tu panel de usuario \r\n ";
$mensaje .="\r\n";
$mensaje .= "-Tambien puedes Revisar ''Mis Ganancias'' en tu panel de usuario. \r\n ";
$mensaje .="\r\n";
$asunto 'Inversion Finalizada! Has ganado Gold con tu inversion!.';
mail($email$asuntoutf8_decode($mensaje), $header);
$ssql898 "update invcul set nombre='$nombre' where id='$id'"
         if ((
mysql_query($ssql898))or die(mysql_error()));
$query76 ="delete from inversiones where id='$id'";
         if ((
mysql_query($query76))or die(mysql_error()));

}
}
}   
//Aqui abajo  esta el  script.. que  al pasar 10 segundos envia el  form
?>
<script>
function sumit()
{
document.formulario.submit(); 
}
setTimeout ("sumit()", 10000); 
</script>      
</BODY> 
</HTML>
PORFA AYUDENME .. o hay alguna forma de hacer lo que hice pero sin pasar las variable spor post! =S.. porfaaa! se que es largo pero agradeceria su ayuda.. Gracias.! es urgente ya publique el sitio y si eso no se ejecuta en la fecha q toque pagarles no se va a ejecutar ..= (!
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #2 (permalink)  
Antiguo 07/04/2010, 19:30
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: Interesante duda! cronjob! o.O =( Ayuda .. Urgente..! :S

Estoy casi seguro que es un problema de rutas, creo que todos los que empezamos con los cronjobs nos paso algo de eso jeje.

Peganos aqui la ruta y archivo que ejecutas en el cronjob
  #3 (permalink)  
Antiguo 07/04/2010, 20:45
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Interesante duda! cronjob! o.O =( Ayuda .. Urgente..! :S

la que coloco en el crob job es la siguiente: public_html/funciona5.php

por que php -f /home/a8541043/ ya sale por defecto en el server donde estoy...

y tiene q ser en public... :S
porque el server trabaja asi.. :S osea no puedo ponerlo por ejemplo public_html/directorio/funciona5.php :s ya eso me lo dijeron los admin....

el crob job y la ruta si la coloco correctamente por q pongo otro archivo por ejemplo el archivo dia.php que lo pongo public_html/dia.php y cada 10 min.. y el codigo es
Código PHP:
<?
include ('conexion.php');
$query "UPDATE inversiones SET dia = dia-1 where dia>0"
mysql_query($query) or die(mysql_error());
?>
y si me lo agarra.. y tambien e probado poner ese codigo de dia.php en el archivo funciona5.php y me agarra solo esa parte el resto no lo ejecuta.. :s

Yo creo q es por q como el codigo de funciona5.php ... es por medio de envio de datos post .. osea q espera q se envie el formulario.. :S pues no me lo agarra osea creoq para q funcione t iene q ser codigo directo, asi como esta en el archivo dia.php.. :S

Alguna sugerencia para cambiar el codigo que puse aya arriba(el de funciona5.php) para q pueda funcionar de igual forma pero de modo directo.. =S

si quieres te explico que es lo q hace exactamente.. aunq se q tu ya lo entendistes.. jej bueno porcierto .=) ! como estass?
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #4 (permalink)  
Antiguo 08/04/2010, 03:56
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: Interesante duda! cronjob! o.O =( Ayuda .. Urgente..! :S

Ya me fije y entiendo eso que dices del formulario, la verdad, que repase demasiado rapido el primero post.

Es logico que no haga nada, ejecuta el funciona5.php mostrando un formulario y fin. Te recomendaria que el cronjob llamara a tu php tal que public_html/funciona5.php?accion=cronjob

Entonces cambias:

Código PHP:
if (!$_POST){ 
Por
Código PHP:
if (!$_POST and $_GET["accion"]!="cronjob"){ 
De modo que cuando sea el cronjob el que ejecuta el php jamas va a mostrar el formulario, se va a ir directamente al ELSEIF, al bucle que dices para actualizar esos datos.

Ya me diras si te sirvio
  #5 (permalink)  
Antiguo 08/04/2010, 05:16
 
Fecha de Ingreso: septiembre-2004
Mensajes: 324
Antigüedad: 19 años, 7 meses
Puntos: 13
Respuesta: Interesante duda! cronjob! o.O =( Ayuda .. Urgente..! :S

en tu CronJob arriba del fichero del todo pon :
MAILTO="[email protected]"
Te llegará un reporte con lo que haya ocurrido al correo cada vez que se ejecute el cron job
  #6 (permalink)  
Antiguo 08/04/2010, 05:51
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Sonrisa Respuesta: Interesante duda! cronjob! o.O =( Ayuda .. Urgente..! :S

Ya lo probe, y si se que funciona, pero lo que necesecito es que eseas variables si pasen por el form.. por que cuando esas variable spasan por el form se le asigna un indentificador a cada una por el nombre del imput que los imput cada uno de los que se imprimen tienen por ejemplo: nombre1, nombre2 nombre3... y entoncs despues cuando obtengo las variables, le quito los indentificadores para asi actualizar solamente los registros que fueron imprisos en el form..

Por eso es que quiero q si se ejecute el form.. =S :S no que s elo salte.. alguna idea..
-y karliky Gracias por el aporte lo implementare.. aunque solo para las pruebas por que imaginate cada dia.. :S xD
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #7 (permalink)  
Antiguo 08/04/2010, 12:27
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Interesante duda! cronjob! o.O =( Ayuda .. Urgente..! :S

haz una funcion que reciba un array como parametro en donde le pases los datos que necesitas, ya sea que le pases post o el array desde un script que se ejecute con cronjob
__________________
I see dead pixels
  #8 (permalink)  
Antiguo 08/04/2010, 17:37
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Duda con Cronjobs

Disculpa SergeMedina, si entiendo en teoria un poco lo que me dices.. pero me podrias dar un ejemplo para entenderlo mejor..? por q no entuendo como lo podria implementra para lo que quiero.. :S

lo que pasa es que mira la tabla tiene muchos usuarios.. con diferentes datos uno d elos datos y el mas importante es fechafin.. que es una fecha calculada y insertada en la tabla.. de cuando se le va a vencer el plazo.. (es comosi fuera un vbanco y estas metiendo un dinero a plazo fijo donde a final del mes se te pagan unos intereses...

entoncs lo que hace es que el codigo por medio de una consulta y leyendo la variable fecha.. que seria la fecha actual..

$fecha=date('Y-m-d');
$ssql="select * from inversiones where fechafin<='$fecha' limit 80";
$result=mysql_query($ssql);

por medio de esa consulta el octiene todos los usuarios a quiene se les vence el plazo..
y luego pasa por dos if... uno que dice: si las renovaciones automaticas son mayores que 0, has los pagos solamente del interes.. y quita una renovacion..
Código PHP:
if ($renovable>0){  

         
$ssql "update inversiones set renovable=renovable-1 where id='$id'";  
         if ((
mysql_query($ssql))or die(mysql_error())); 
         
$ssql3 "update inversiones set fecha='$fechaininueva', fechafin='$fechafinnueva' where id='$id'";  
         if ((
mysql_query($ssql3))or die(mysql_error())); 
          
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'"); 
    
$lado4=mysql_num_rows ($consulta4); 
while(
$row=mysql_fetch_array($consulta4)){ 
$disponible=$row["disponible"]; 
}
$ssql2 "update usuarios set disponible=disponible+'$ganancia' where nombre='$nombre'";  
         if ((
mysql_query($ssql2))or die(mysql_error())); 
         
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'"); 
    
$lado2=mysql_num_rows ($consulta2); 
while(
$row=mysql_fetch_array($consulta2)){ 
$disponible2=$row["disponible"]; 

y si las renovaciones de esos usuarios impresos.. son iguales a 0 pues hace otra cosa..

ves... pero yo esos datos los coloco en un form con los imput que cada imput tenga un identificador distinto para que? bueno para que me pueda editar todos esos datos al mismo tiempo.. asi de esta forma el form que me genera queda:
Código PHP:
<h1 align="center">Edici&#243;n de varios registros a la vez</h1> 
<form name='formulario' action='funciona5.php' method=post
<
table align=center
<
tr><td><b>Nombre</b></td><td><b>plazo</b></td><td><b>ganancia</b></td></tr
<
input type=text name='fecha1' value='2010-04-08'><tr
<
input type=text name='email1' value='[email protected]'><tr><tr
<
input type=hidden name='nombre1' value='jose mariani'><tr
<
input type=text name='id1' value='64'><tr><td>jose mariani</td><td><input type=text name='plazo1' value='30'></td></tr><td><input type=text name='ganancia1' value='11'></td></tr><td><input type=text name='invertido1' value='100'></td></tr><td><input type=text name='renovable1' value='1'></td></tr><td><input type=text name='fechafin1' value='2010-04-06'></td></tr
</
table
</
form
(ves el nombre del imput es nombre1, fecha1,.. asi mismo si ubieran 20 pues cada nombre impreso seria en cada impuit distinto.,. :S y despues mas adelante los agarro de esta forma:
Código PHP:
 $mail2 "[email protected]"
         
$id $_POST["id" $i];  
         
$nombre $_POST["nombre" $i];  
         
$fechaininueva $_POST["fecha" $i];            
         
$plazo $_POST["plazo" $i]; 
:s por que si no lo hago asi..:S pues solo me editaría el ultimo que estuviera en la consulta.. :S

si me explico bien?, o no me entiendes.. por favor échale un ojo al código que publique de primero hay esta bien explicado..

lo que SUCEDE es que el cronjob trabaja con código directo o eso estoy creyendo.. es decir que las variables no puede ser pasado por imput y luego enviadas.. :S osea lo que yo hago es que las variables son buscadas en la consulta.. se colocan en diferentes imput y luego en 10 seg transcurridos se ejecuta un java que me envia el form..
eso funciona pero solo cuando lo abro yo mismo desde mi explorador.. mas no cuando lo hace el cron.. por el mismo motivo que te dije antes.. de que trabaja con código de forma directa por ejemplo..

esta parte no me la esta a haciendo.. y por ende no me envia nada.. =S
Código PHP:
<?  
//Conexion con la base  
include ('conexion.php');  

if (!
$_POST){  
   
//si no recibo datos de POST, muestro el formulario  
    
    
   //extraemos de la base de datos los registros a mostrar  
   //Ejecutamos la sentencia SQL, limitando la búsqueda a 80 registros  
    
$fecha=date('Y-m-d'); 
   
$ssql="select * from inversiones where fechafin<='$fecha' limit 80";  
   
$result=mysql_query($ssql);  
   echo 
"<form name='formulario' action='funciona5.php' method=post>";  
   echo 
"\n<table align=center>";  
   echo 
"\n<tr><td><b>Nombre</b></td><td><b>plazo</b></td><td><b>ganancia</b></td></tr>";  
   
$i 1;  
   while (
$fila=mysql_fetch_array($result)){   
        echo 
"\n<input type=text name='fecha$i' value='" $fecha "'>";  
         echo 
"<tr>";  
      echo 
"\n<input type=text name='email$i' value='" $fila["email"] . "'>";  
      echo 
"<tr>";  
      echo 
"<tr>";  
      echo 
"\n<input type=hidden name='nombre$i' value='" $fila["nombre"] . "'>";  
      echo 
"<tr>";  
          echo 
"\n<input type=hidden name='id$i' value='" $fila["id"] . "'>";  
      echo 
"<tr>";  
      echo 
"<td>" $fila["nombre"] . "</td>";  
            echo 
"<td><input type=text name='plazo$i' value='" $fila["plazo"] . "'></td>";  
      echo 
"</tr>";  
        echo 
"<td><input type=text name='ganancia$i' value='" $fila["ganancia"] . "'></td>";  
      echo 
"</tr>";  
        echo 
"<td><input type=text name='invertido$i' value='" $fila["invertido"] . "'></td>";  
      echo 
"</tr>";  
       echo 
"<td><input type=text name='renovable$i' value='" $fila["renovable"] . "'></td>";  
      echo 
"</tr>";  
       echo 
"<td><input type=text name='fechafin$i' value='" $fila["fechafin"] . "'></td>";  
      echo 
"</tr>";
esta es la parte inicial donde se realiza la consulta, para obtener los datos en los cuales se va a trabajar ..

Es decir hay alguna forma para yo poder hacer esa consulta y agarrrar todos los datos? por que si lo hago.. solo me modifica el ultimo usuario que busco en la consulta ..

es decir si solo coloco:
Código PHP:
$fecha=date('Y-m-d'); 
   
$ssql="select * from inversiones where fechafin<='$fecha' limit 80";  
   
$result=mysql_query($ssql);  

 if (
$renovable>0){  

         
$ssql "update inversiones set renovable=renovable-1 where id='$id'";  
         if ((
mysql_query($ssql))or die(mysql_error())); 
         
$ssql3 "update inversiones set fecha='$fechaininueva', fechafin='$fechafinnueva' where id='$id'";  
         if ((
mysql_query($ssql3))or die(mysql_error())); 
          
$consulta4=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'"); 
    
$lado4=mysql_num_rows ($consulta4); 
while(
$row=mysql_fetch_array($consulta4)){ 
$disponible=$row["disponible"]; 
}
$ssql2 "update usuarios set disponible=disponible+'$ganancia' where nombre='$nombre'";  
         if ((
mysql_query($ssql2))or die(mysql_error())); 
         
$consulta2=mysql_query("SELECT disponible FROM usuarios WHERE nombre='$nombre'"); 
    
$lado2=mysql_num_rows ($consulta2); 
while(
$row=mysql_fetch_array($consulta2)){ 
$disponible2=$row["disponible"]; 

         
$query "INSERT INTO ganancias (nombre, id, fecha, ganancia, disponibleA, disponibleD) VALUES('$nombre','$id','$fechaininueva','$ganancia','$disponible','$disponible2')"
    
mysql_query($query) or die(mysql_error()); 
          
         
$ssql8 "update usuarios set ganado=ganado+'$ganancia' where nombre='$nombre'";  
         if ((
mysql_query($ssql8))or die(mysql_error())); ..................... etc.. 
Solo me agarrarían el ultimo usuario si hay 20 o dos .. solo me agarra el 2do o el 20.. de toda esa consulta .... =S

DISCULPEN DE VERDAD QUE ME AYA EXTENDIDO.. PERO UNA BUENA EXPLICACIÓN SIEMPRE ES BUENA, NO ES TAN LARGA NI MUCHO MENOS CONFUSA.. ESPERO QUE POR FAVOR LA LEAN.. ESTA ASI PARA QUE NO HAYA DUDAS.. PERO SI LAS LLEGA A HABER PUES... CLARO QUE SE LAS ACLARARE...

Por favos ayudenme... ='(
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #9 (permalink)  
Antiguo 08/04/2010, 19:41
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: Duda con Cronjobs

¿Quieres que con un cronjob lea de la base de datos, arme un formulario, lo autoenvie y procese ciertos Updates?

No le veo sentido, hazte otro php que directamente lea de la base de datos con un bucle y en vez de usar ese bucle para generar el formulario.... pues procesalo para esos updates!
  #10 (permalink)  
Antiguo 08/04/2010, 19:50
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Duda con Cronjobs

sii exacto!! eso es lo que quiero pero noc hacerlo.. =( por eso lo hice de esa forma.. comos e podria hacer de la forma que me dices.. por q de a forma que me dices si me funcionaria con el cron job ademas de que es mas corto.. =)

como hago eso de procesar los buche para los update.. en mi caso como quedaria, me puedes dar un ejemplo, para irlo armando por aki.. ?
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #11 (permalink)  
Antiguo 12/04/2010, 21:45
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: Duda con Cronjobs

Buenas para informacind e todos.. =) logre resolver mi problema aplicando bucles como me habian recomentado aqui, lo realize con la ayuda de los usuarios:

Nemutagk
y
pateketrueke

en el siguiente post: http://www.forosdelweb.com/f18/como-...rgente-796104/
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..

Etiquetas: Ninguno
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 06:46.