graficos_semanas.php
Código PHP:
<?php
session_start();
if(!isset($_SESSION['us_id'])){
header("Location: ../index.php");
} else {
$usuario=$_SESSION['us_id'];
$admin=$_SESSION['us_tipo'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<script type="text/javascript" src="./Scripts/imprimir.js"></script>
<script type="text/javascript" src="./Scripts/jquery-1.6.1.js"></script>
<script type="text/javascript" src="accion.js"></script>
<script type="text/javascript" src="./Scripts/jquery.jqtransform.js"></script>
<link rel=stylesheet href="./Style/default.css" type="text/css">
<link rel=stylesheet href="./Style/menuH.css" type="text/css">
<link rel=stylesheet href="./Style/jqtransform.css" type="text/css">
</head>
<script type="text/javascript">
$(function() {
//Todos los formularios con clase jqtransform
$('form').jqTransform({imgPath:'.Style/img/'});
});
function showUser(str)
{
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","graficos/graph_tarea_semana.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>
<?php
include('menu.php');
?>
<form>
<div class="centrado">
<table id="tablas">
<tr>
<th>Buscar por Estatus:</th>
<td><select name="users" onchange="showUser(this.value)">
<option value="">---Seleccione---</option>
<option value="Pendiente">Pendiente</option>
<option value="En Proceso">En Proceso</option>
<option value="Terminado">Terminado</option>
<!-- <option value="todo">Todos</option> -->
</select>
</td>
</tr>
</table>
</div>
<br />
</form>
<div id="txtHint" class="centrado"><b>Mostrando</b></div>
</body>
</html>
<? } ?>
graph_tarea_semana.php
Código PHP:
<?php
include("../conexion.php");
include('../Scripts/funcion.php');
include("../Scripts/jpgraph/src/jpgraph.php");
include("../Scripts/jpgraph/src/jpgraph_bar.php");
$status_sel=$_GET["q"];
echo $status_sel;
$conexion = new ControlBD();
$conexion->conectar();
$conexion->seleccionarBD();
$ano = date("Y");
set_time_limit(0);
if ($status_sel == 'Terminado'){
$query = "SELECT COUNT(ta_status),WEEK(ta_fechaentrega)as Semana,ta_idrecurso,
DATE_SUB(ta_fechaentrega,INTERVAL WEEKDAY(ta_fechaentrega) DAY) as primerDiaSemana,
DATE_ADD(DATE_SUB(ta_fechaentrega,INTERVAL WEEKDAY(ta_fechaentrega) DAY),INTERVAL 6 DAY) as ultimoDiaSemana
FROM cgtarea WHERE ta_status = '$status_sel'
GROUP BY Semana";
$result=$conexion->ejecutarQuery($query);
}else{
$query = "SELECT COUNT(ta_status),WEEK(req_date)as Semana,ta_idrecurso,DATE_SUB(req_date,INTERVAL WEEKDAY(req_date) DAY) as primerDiaSemana,
DATE_ADD(DATE_SUB(req_date,INTERVAL WEEKDAY(req_date) DAY),INTERVAL 6 DAY) as ultimoDiaSemana
FROM cgtarea INNER JOIN cgrequerimientos ON req_id = ta_idreq
WHERE ta_status = '$status_sel'
GROUP BY Semana";
$result=$conexion->ejecutarQuery($query);
}
while($row = mysql_fetch_array($result))
{
$status[] = $row[0];
$semanas[] = $row[1];
$rango[] = cambiar_fecha($row[3])." al ".cambiar_fecha($row[4]);
}
$graph = new Graph(690, 550, "auto");
$graph->ClearTheme();
$graph->SetScale( "textlin");
/*Aqui coloco el grafico de forma horizontal*/
//$graph->Set90AndMargin(40,40,40,40); //LEFT,RIGT,TOP,BOTTOM
// $graph->img->SetAngle(90);
$graph->img->SetMargin(65, 40, 55, 190); //(90, 65, 60, 80); Medidas Grafico Horizontal //LEFT,RIGT,TOP,BOTTOM
$graph->SetShadow();
$graph->xaxis->SetTickLabels($rango);
$graph->xaxis->SetLabelAngle(90);
$graph->yaxis->HideZeroLabel(); //elimina el 0 del eje de la Y
$graph->legend->Pos(0.05,0.15,"right","center");
$graph->legend->SetShadow('[email protected]');
$graph->legend->SetFillColor('[email protected]');
$graph->title->Set("Grafico de Tareas");
$graph->subtitle->Set("Tareas Terminadas por Semanas");
$graph->subtitle->SetFont(FF_VERDANA, FS_NORMAL, 10);
$graph->SetTitleBackground('#[email protected]',TITLEBKG_STYLE2,TITLEBKG_FRAME_FULL,'#[email protected]',5,25,true);
$graph->yaxis->title->Set("# de tareas x semana" );
$graph->xaxis->title->Set("# de Semana de $ano" );
$graph->yaxis->SetTitleMargin(30); //LEFT,RIGT,TOP,BOTTOM
//$graph->yaxis->title->SetAngle(90); //le doy angulo a los Labels del eje de las Y
$graph->yaxis->SetTitleMargin(50);
$graph->xaxis->SetTitleMargin(150);
$graph->ygrid->SetColor('lightgray'); //Color a las lineas del grid
$graph->ygrid->SetFill(true,'lightgray','white'); //color entre las lineas de grid
$graph->yaxis->scale->SetGrace(20); //Setea la escala en el eje de las Y
$barplot = new BarPlot($status);
$barplot->SetColor("orange");
$barplot->SetFillColor("orange");
$barplot->SetShadow('[email protected]');
$barplot->SetWidth(0.3);
$barplot->value->Show(1);
//$barplot->value->SetFormat("%0.1f KG");
$barplot->value->SetFont(FF_FONT1,FS_BOLD);
$graph->Add($barplot);
// Mostramos la imagen
$graph->Stroke();
?>
Espero puedan ayudarme con esto, SALUDOS