###前提・実現したいこと
PHP初心者です。
現在、発注実績を集計するシステムを作成しています。
SELECTボックスから部門(DPT)を選択し、
部門(DPT)、中分類、週別の集計は、できたのですが、
これを、部門(DPT)、中分類、をキーにして、週ごとの発注実績を
横に持たせたいのですが、やり方がどうしてもわかりません。
おわかりの方がいらっしゃいましたら、ご教授お願いいたします。
###発生している問題・エラーメッセージ
エラーメッセージ
PHP
1 2<html> 3 <meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=x-sjis"> 4 <head> 5 <title>発注実績</title> 6 </head> 7 <body> 8<?php 9//データベースのインスタンス名を指定 10 11$serverName = ".\\SQLEXPRESS"; 12//接続情報を指定 13$connectionInfo = array("UID"=>"test", 14 "PWD"=>"test", 15 "Database"=>"hattyuujisseki"); 16 17//コネクションを確立 18$conn = sqlsrv_connect($serverName, $connectionInfo); 19//dpt引き渡し 20//クエリー文を指定 21$tsql = "SELECT * from DPTマスタ"; 22//クエリーを実行 23$result = sqlsrv_query($conn, $tsql); 24?> 25 26<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> 27<select name="dpt" > 28<?php 29 30while ($row = sqlsrv_fetch_array($result)) { 31if ((isset($_POST['dpt']))and($row['DPTコード'] == $_POST['dpt'])) { 32echo ' <option value="' . $row['DPTコード'] . '" selected="selected">' . $row['DPTコード'] . " ".$row['DPT名_漢字'] . '</option>' . "\n"; 33 34$dpt = $_POST['dpt']; 35$dptmei = $row['DPT名_漢字']; 36} else { 37if (isset($_POST['dpt'])) { var_dump($_POST['dpt']); } 38 39echo ' <option value="' . $row['DPTコード'] . '">' . $row['DPTコード'] ." ". $row['DPT名_漢字'] .'</option>' . "\n"; 40} 41} 42?> 43 44</select> 45<input type="submit" name="s" value="検 索" /> 46</form> 47<b>発注実績   48<?php if (isset($_POST['dpt'])){ print("DPT ".$dpt ." ". $dptmei); } ?></b> 49 50<?php 51if (isset($_POST['dpt'])){ 52 53//クエリー文を指定 54 55$tsql = "SELECT DPT,中分類,週, 56 SUM(発数) AS 発注数, 57 SUM(発原額) AS 発注原価, 58 SUM(発売額税抜) AS 発注売価 59 from dbo.VM_納品実績 where DPT = $dpt 60 group by 61 DPT,中分類,週 62 order by DPT,中分類,週"; 63//クエリーを実行 64$result = sqlsrv_query($conn,$tsql); 65}?> 66<table> 67<style> 68 69</style> 70<thead> 71 <tr> 72 <th>中分類</th> 73 <th>週</th> 74 <th>発注数</th> 75 <th>発注原価</th> 76 <th>発注売価</th> 77 </tr> 78 </thead> 79 80<tbody> 81 82<?php 83 84 //実行結果を描画 85 while($row = sqlsrv_fetch_array($result)) { 86 printf("<tr><th>".$row['中分類']."</th>"); 87 printf("<td >".$row['週']."</td>"); 88 printf("<td >".number_format($row['発注数'])."</td>"); 89 printf("<td >".number_format($row['発注原価'])."</td>"); 90 printf("<td >".number_format($row['発注売価'])."</td></tr>"); 91 } 92?> 93</table> 94<?php 95//クエリー結果の開放 96sqlsrv_free_stmt($result); 97//コネクションのクローズ 98sqlsrv_close($conn); 99?> 100 </body> 101</html> 102
###試したこと
週をDISTINCTして、配列のキーを作成しましたが、その後
どうして良いかわかりませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
IIS 7.0
PHP Version 5.4.45
DATABASE Microsoft SQL Server 2008 R2 Express
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。