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, $asunto2, utf8_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, $asunto, utf8_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>