Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/09/2008, 12:28
juanjoseab
 
Fecha de Ingreso: abril-2008
Mensajes: 88
Antigüedad: 16 años
Puntos: 5
Pregunta Ayuda con formato de fecha

Tengo que generar una grafica calculando el total de ordenes generadas a cada mececanico, claro con Mysql, pero el problema es que la persona que programo al pricipio la base de datos ingreso los datos de fecha_orden de tipo VARCHAR y con formato dd/mm/yyyy... Lo que tengo que hacer es lo siguiente: de la tabla mecanicos se toma, nombre_mec y meta_mec, luego, se hace otra consulta a Mysql a la tabla ordenes para tomar cada orden por cada mecanico (usando un while); a partir de estos datos el total acumuladoa para una meta y se genera una grafica (usando la libreria JPGRAPH), pero como esta se genera con ordenes de fecha inicial a una fecha final ingresada por el usuario, tengo que comparar fechas asi que hice el siguiente codigo, para ponerlo en formato de 365 dias... es decir fecha inicio seria dia 118 del año y fecha final seria dia 250 del año, y luego se compara --- Si dia de la orden esta entre este rango que se proceda a grabar los datos.... creo que esta algo complicado pero aca abajo pongo el codigo... si alguno tiene una sugerencia o cualquier opinion... es bienvenida...

<?

$fecha_inicio=$_GET['fechainicial']
$fecha_final=$_GET['fechafinal']

$incioarray=explode("/", $fecha_inicio);
$diainicio=$inicioarray[0];
$mesinicio=$inicioarray[1];
$anoinicio=$inicioarray[2];

$finarray=explode("/", $fecha_final);
$diafin=$finarray[0];
$mesfin=$finarray[1];
$anofin=$finarray[2];

$ordenarray=explode("/", $fecha_orden);
$diaorden=$finarray[0];
$mesorden=$finarray[1];
$anoorden=$finarray[2];


if ($anoinicio % 4 = 0) {
$febinicio= 29;
}else{
$febinicio= 28;
}
if ($anofin % 4 = 0) {
$febfin= 29;
}else{
$febfin= 28;
}

if ($anoorden % 4 = 0) {
$feborden= 29;
}else{
$feborden= 28;
}

switch ($mesorden) {
case 01:
$Tdiasorden= $diaorden;
case 02:
$Tdiasorden= 31 + $diaorden;
case 03:
$Tdiasorden= 31 + $feborden + $diaorden;
case 04:
$Tdiasorden= 62 + $feborden + $diaorden;
case 05:
$Tdiasorden= 92 + $feborden + $diaorden;
case 06:
$Tdiasorden= 123 + $feborden + $diaorden;
case 07:
$Tdiasorden= 153 + $feborden + $diaorden;
case 08:
$Tdiasorden= 184 + $feborden + $diaorden;
case 09:
$Tdiasorden= 215 + $feborden + $diaorden;
case 10:
$Tdiasorden= 245 + $feborden + $diaorden;
case 11:
$Tdiasorden= 276 + $feborden + $diaorden;
case 12:
$Tdiasorden= 306+ $feborden + $diaorden;
}

switch ($mesfin) {
case 01:
$Tdiasfin= $diafin;
case 02:
$Tdiasfin= 31 + $diafin;
case 03:
$Tdiasfin= 31 + $febfin + $diafin;
case 04:
$Tdiasfin= 62 + $febfin + $diafin;
case 05:
$Tdiasfin= 92 + $febfin + $diafin;
case 06:
$Tdiasfin= 123 + $febfin + $diaifin;
case 07:
$Tdiasfin= 153 + $febfin + $diafin;
case 08:
$Tdiasfin= 184 + $febfin + $diafin;
case 09:
$Tdiasfin= 215 + $febfin + $diafin;
case 10:
$Tdiasfin= 245 + $febfin + $diafin;
case 11:
$Tdiasfin= 276 + $febfin + $diafin;
case 12:
$Tdiasfin= 306+ $febfin + $diafin;
}

switch ($mesinicio) {
case 01:
$Tdiasinicio= $diainicio;
case 02:
$Tdiasinicio= 31 + $diainicio;
case 03:
$Tdiasinicio= 31 + $febinicio + $diainicio;
case 04:
$Tdiasinicio= 62 + $febinicio + $diainicio;
case 05:
$Tdiasinicio= 92 + $febinicio + $diainicio;
case 06:
$Tdiasinicio= 123 + $febinicio + $diainicio;
case 07:
$Tdiasinicio= 153 + $febinicio + $diainicio;
case 08:
$Tdiasinicio= 184 + $febinicio + $diainicio;
case 09:
$Tdiasinicio= 215 + $febinicio + $diainicio;
case 10:
$Tdiasinicio= 245 + $febinicio + $diainicio;
case 11:
$Tdiasinicio= 276 + $febinicio + $diainicio;
case 12:
$Tdiasinicio= 306+ $febinicio + $diainicio;
}


if ($anoorden >= $anoinicio && $anoorden >= $anofin) {
PROCEDIMIENTOS
}else{
echo ' hay alguna incongruencia en la fecha, favor revisala';
}


?>