Foros del Web » Programando para Internet » PHP »

Ayuda con Cron Job

Estas en el tema de Ayuda con Cron Job en el foro de PHP en Foros del Web. Tengo un gran problema con esta funcion, me llega el correo, pero me llegan todos los de la base, solo necesito que me mande los ...
  #1 (permalink)  
Antiguo 04/01/2008, 06:04
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Ayuda con Cron Job

Tengo un gran problema con esta funcion, me llega el correo, pero me llegan todos los de la base, solo necesito que me mande los que tienen 2 dias de retraso, por favor ayudenme.

Código PHP:
<?
if (strstr($PHP_SELF"/am_modules/"))  die ("Usted no puede accesar este archivo directamente...");

// Genero la fecha para la evaluacion de las 48 hrs [2 dias]
include_once ("am_config.php");
include_once (
"mail48.php");

//$fechan = date("d/m/Y");
 
$fech_actu date("d-m-Y"); // fecha actual
 
$f_ni_aaa date("Y"); // Año actual
 
$f_ni_mmm date("m"); // Mes actual
 
$f_ni_ddd date("d"); // Dia actual

 
$time time(); // Timestamp Actual
 
$restar = (24*60*60)*2// (horas*minutos*segundos)*2 -> numero de segundos en dos dias

 
$time_ante $time-$restar;

 
$fech_ante date("d-m-Y",$time_ante); // fecha con dos dias menos
 
$f_ni_aa_ante date("Y",$time_ante); // Año con dos dias menos
 
$f_ni_mm_ante date("m",$time_ante); // Mes con dos dias menos
 
$f_ni_dd_ante date("d",$time_ante); // 2 dias antes de hoy

$ebpe "EBPE SE-019"
$ole  =  "MSC OLE/W9"

$hoy=$f_ni_aa_ante.$f_ni_mm_ante.$f_ni_dd_ante;

$sel_sql "select am_inspeccion.ins_folio , am_inspeccion.ins_fecing1 , am_inspeccion.ins_nomemp , am_inspeccion.ins_digito, am_inspeccion.ins_estado from am_inspeccion where  ((ins_estado LIKE 'A') or (ins_estado LIKE 'I')) AND (ins_fecing1 < '$hoy') and (ins_proyecto LIKE '$ebpe') order by ins_folio desc";
$resultado db_query($sel_sql) or die(db_error());


//---> include idioma
//
  
$config["leng"] = "sp"// Español 
  
include_once( "am_modules/inspec/idioma/msg_".check_lang($config["leng"]).".php" ); 

  
srand((double)microtime()*1000000); 

  
draw_header(); 

if( ! 
$session["logged"] ) 

    
theme_draw_boxlg_TitConINGRESO_ACTIVATE_ERROR"100%" ); 
    
draw_footer(); 
    exit; 

?> 
<style type="text/css"> 
TD { 
    font-size : 10px; 
    font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; 

</style> 
<? 

echo"<h3 align=\"center\">Inspecciones Pendientes 48 horas o más (EBPE)</h3>";  

echo 
"<table border=0 width=90%><tr>"
echo 
"<td></td><td>Folio</td><td>Fecha</td><td>Empresa</td><td>Ingresado por </td><td>Estado</td></tr>"
echo 
"<tr></tr>"
while(
$i=mysql_fetch_array($resultado)){ 

if (
$i){

echo 
"<td><a href=\"inspec.php?id_insmod=$i[0]\" target=\"parent\"><img src=\"am_modules/downloads/derec.gif\" width=16 height=16 alt=\"click\" border=0 align=left></a></td>"
echo 
"<td>$i[0]</td>"


$f_fecing1  substr($i["ins_fecing1"],6,2)."/".substr($i["ins_fecing1"],4,2)."/".substr($i["ins_fecing1"],0,4); 

echo 
"<td>$f_fecing1</td>"
echo 
"<td>$i[2]</td>"


$nom_sql "SELECT realname FROM am_users WHERE name = '".$i["ins_digito"]."'";  
$nom     db_query($nom_sql) or die(db_error()); 
$nombre  db_fetch_array($nom); 
$f_autor $nombre["realname"]; 


echo 
"<td>$f_autor</td>"

$est_sql "SELECT ins_estado FROM am_inspeccion WHERE ins_estado = '$i[ins_estado]'";  
$est     db_query($est_sql) or die(db_error()); 
$estado  db_fetch_array($est); 
$f_estado $estado["ins_estado"]; 
switch(
$f_estado) { 
case 
"Q""Por Inspeccionar"
      
$var "Por Inspeccionar"
      break; 
case 
"A"
      
$var "Aprobada para inspeccionar"
      break; 
case 
"R"
      
$var "Rechazada para inspeccionar"
      break; 
case 
"T"
      
$var ="Inspeccion terminada"
      break; 
case 
"I":
      
$var ="Reinspeccionar"
      break;
case 
"E":
      
$var ="Inspeccion rechazada"
      break;
case 
"I":
      
$var ="Reinspecionar"
      break;

   

echo 
"<td>$var</td></tr>"; }

}


?>
Muchas gracias...
  #2 (permalink)  
Antiguo 04/01/2008, 11:11
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: Ayuda con Cron Job

Quien me puede ayudar?
  #3 (permalink)  
Antiguo 04/01/2008, 12:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda con Cron Job

En primera te digo que eso no tiene nada que ver con Cron Jobs, tu problema es que tu Query para seleccionar los datos esta mal. Debes de seleccionar los registros entre Hoy y hace dos dias.

Saludos.
  #4 (permalink)  
Antiguo 04/01/2008, 14:08
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: Ayuda con Cron Job

mira Gatorv, gracias por contestar, no entiendo nada del cron job, solo se que ya me dejaron ese codigo programado y me llegan los correos, pero todos, no se si seria mucha la patudez de que me ayudaras un poquito mas.

lo de los 2 dias si me funciona, pero necesito que mande un correo al pasarse del limite
  #5 (permalink)  
Antiguo 04/01/2008, 14:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Ayuda con Cron Job

Sin conocer la estructura de la base de datos ni nada, te podria decir que lo que tienes que hacer es tener un campo en tu base de datos que lo que haga es guardar el tiempo limite, o sea la fecha limite, luego haces un Query y seleccionas los datos que esten entre la fecha de hoy y hace dos dias.

Saludos.
  #6 (permalink)  
Antiguo 08/01/2008, 13:57
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: Ayuda con Cron Job

te refieres a eso gatorV?

Código PHP:
$sel_sql "select am_inspeccion.ins_folio , am_inspeccion.ins_fecing1 , am_inspeccion.ins_nomemp , am_inspeccion.ins_digito, am_inspeccion.ins_estado from am_inspeccion where  ((ins_estado LIKE 'A') or (ins_estado LIKE 'I')) AND (ins_fecing1 < '$hoy') and (ins_proyecto LIKE '$ebpe') order by ins_folio desc"
$resultado db_query($sel_sql) or die(db_error()); 
Si es eso, eso me funciona muy bien.
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 21:08.