knox203 Posted January 21, 2008 Share Posted January 21, 2008 I'm still trying to figure JPGraph out, and am currently stuck on this problem. I want a user to select a month on a drop down, then display a graph of the four weeks of the month containing the sales information. Here's the code I have for a Yearly by Month graph. What would I need to change to accomplish this? Thanks everyone! <? ini_set("display_errors","on"); ?> <? require_once("../../wwwroot/conduit/crm.php"); ?> <? $rpt_date = (isset($_GET['rpt_date']) ? $_GET['rpt_date'] : date("Y")); ?> <? require_once ("jpgraph/jpgraph.php"); ?> <? require_once ("jpgraph/jpgraph_bar.php"); ?> <? $bar_width = 50; // Graph Monthly Sales for the $query = "SELECT date_format(date,'%b') as month_name, salesperson, round(sum(amount),2) as total_sales FROM crm.finance where left(date,4) = '$rpt_date' and salesperson = 'xxxx' group by left(date,7)"; $result = mysql_query($query); $count = mysql_num_rows($result); $data = mysql_fetch_assoc($result); // Load the Daily Sales Array do { $monthly_totals[] = $data['total_sales']; $monthly_totals_label[] = $data['month_name']; } while ($data = mysql_fetch_assoc($result)); ?> <? // Create NEW Bar Graph $graph = new Graph(1100,500,'auto'); // Initialize the graph $graph->SetShadow(); // Set a shadow on the graph page $graph->SetScale("textlin"); // Set the x,y scale, x=text, y=lin $graph->xaxis->SetTickLabels($monthly_totals_label); // Load the x-axis tick labels $graph->xaxis->SetFont(FF_FONT1); // Set the font for the ticks $graph->yaxis->scale->SetGrace(15,0); // Add 15% top room for bar labels $graph->title->Set("Monthly Sales by Year for Meredith Greenwood"); // Set Graph Title $graph->xaxis->SetTitle("Months of the Year",'middle'); // Set x-axis Title $graph->title->SetFont(FF_FONT1,FS_BOLD); // Set Title Font, Style $graph->legend->SetPos(0.0,0.0,'left','top'); // Position the Legend if (count($monthly_totals_label) > 12): // Skip tick labels if plotting more than 15 items $graph->xaxis->SetTextLabelInterval(2); endif; // Data Set 1, Total Sales, Group 1 $b1 = new BarPlot($monthly_totals); // Plot the dataset $b1->SetWidth($bar_width); // Set bar width to 10 $b1->value->SetFormat('$%.2f'); // Format the Bar Value Labels $0.00 $b1->SetLegend("Total Sales in $$"); // Set the Legend line for Data Set 1 $b1->value->show(); // Show bar values $b1->SetFillColor('AntiqueWhite3'); // Set bar fill color $b1->value->SetFont(FF_ARIAL,FS_BOLD,10); // Set bar value font $b1->value->SetAngle(0); // Set bar value text angle // $b1->SetValuePos('right'); // Set bar value position // Group the different datasets together. $gbplot = new GroupBarPlot(array($b1)); // Display Values in Bars // The order the plots are added determines who's ontop $graph->Add($gbplot); // Finally output the image $graph->Stroke(); ?> Link to comment https://forums.phpfreaks.com/topic/87135-solved-monthly-by-weeks-in-jpgraph/ Share on other sites More sharing options...
knox203 Posted January 21, 2008 Author Share Posted January 21, 2008 Figured it out. All I had to do was change the end of the query to "group by week(date,4)" Link to comment https://forums.phpfreaks.com/topic/87135-solved-monthly-by-weeks-in-jpgraph/#findComment-445663 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.