PHP mySQL最新报告
这是我第一次做报告,我知道这是最低效的运行方式。 我已经设置好每周报告前4周使用的产品数量,前4周的平均值,然后是本周的使用量 我知道这样做的唯一方法是循环查找我想要的每个数字……不幸的是,对于400多个产品,这意味着要运行2000多个查询,这不是一个好主意,因为这需要花费一分钟来显示整个页面 有没有更有效的方法? 抱歉格式化…仍在学习如何使用此网站PHP mySQL最新报告,php,mysql,Php,Mysql,这是我第一次做报告,我知道这是最低效的运行方式。 我已经设置好每周报告前4周使用的产品数量,前4周的平均值,然后是本周的使用量 我知道这样做的唯一方法是循环查找我想要的每个数字……不幸的是,对于400多个产品,这意味着要运行2000多个查询,这不是一个好主意,因为这需要花费一分钟来显示整个页面 有没有更有效的方法? 抱歉格式化…仍在学习如何使用此网站 $sql = "SELECT DISTINCT (family),(productname) FROM products WHERE ac
$sql = "SELECT DISTINCT (family),(productname) FROM products WHERE
active_family='1'";
$result = mysql_query($sql)or die(mysql_error());
while($info = mysql_fetch_array($result)){
$scale = $info['family'];
$prod = $info['productname'];
$sql_scale = "SELECT * FROM flavor WHERE pfamily='".$scale."'";
$result_scale = mysql_query($sql_scale)or die(mysql_error());
echo "<div style='width: 100%; text-align: center;'>";
echo "<h1>".$prod."</h1>";
echo "<table style='margin: auto auto;'>";
echo "<tr><th>Model</th><th>Description</th><th>Week 1 ".$wk4."</th>
<th>Week2".$wk3."</th><th>Week 3 ".$wk2."</th><th>Week 4 "
.$wk1."</th><th>Average</th><th>Current Week</th></tr>";
while($row = mysql_fetch_array($result_scale)){
$name = $row['pfamily'];
$scale = $row['model'];
$desc = $row['description'];
$id = $row['id'];
echo "<tr><td style='width: 70px;'>".$scale."</td>
<td style='width: 300px;'>".$desc."</td>";
for ($x=1;$x<6;$x++){
switch ($x)
{
case 5:
$ordwk="orders.orddate>='".$nowdateA."' and orders.orddate<='".$date."'";
break;
case 4:
$ordwk="orders.orddate>='".$wk1a."' and orders.orddate<='".$wk1z."'";
break;
case 3:
$ordwk="orders.orddate>='".$wk2a."' and orders.orddate<='".$wk2z."'";
break;
case 2:
$ordwk="orders.orddate>='".$wk3a."' and orders.orddate<='".$wk3z."'";
break;
case 1:
$ordwk="orders.orddate>='".$wk4a."' and orders.orddate<='".$wk4z."'";
break;
default:
break;
}
$resulto = mysql_query("select flavor.model, coalesce(SUM(orders.quantity),0)as ORDERED from flavor
left join orders ON flavor.model=orders.model
where ".$ordwk." and flavor.model='".$scale."'
and orders.buyer<>'greenland' GROUP BY flavor.model");
$rowo = mysql_fetch_row($resulto);
If ($x < 5){
$array[$x] = $rowo['1'];
echo "<td style='width: 70px; text-align: center'>".$rowo['1']."</td>";
}
else{
$average = array_sum($array) / count($array);
echo "<td style='width: 70px; text-align: center; background-color:#00FF00'>".ceil($average)."</td>";
echo "<td style='width: 70px; text-align: center'>".$rowo['1']."</td>";
}
}
echo "</tr>";
} // End our scale while loop
}
mysql_close();
$sql=“从产品中选择不同的(系列),(产品名称),其中
主动_家族='1';
$result=mysql\u query($sql)或die(mysql\u error());
而($info=mysql\u fetch\u数组($result)){
$scale=$info['family'];
$prod=$info['productname'];
$sql_scale=“选择来自风味的*,其中pfamily=”“$scale.”;
$result\u scale=mysql\u query($sql\u scale)或die(mysql\u error());
回声“;
回显“$prod.”;
回声“;
echo“ModelDescriptionWeek 1”。$wk4。“
第2周“$wk3.”第3周“$wk2.”第4周
.$wk1.“平均本周”;
而($row=mysql\u fetch\u数组($result\u scale)){
$name=$row['pfamily'];
$scale=$row['model'];
$desc=$row['description'];
$id=$row['id'];
回显“$scale”
“$desc.”;
对于($x=1;$XY),您知道此构造正在用请求淹没数据库。。对于CH系列,有一个选择风味表。。是的,这可能更有效(使用join)但是我们需要关于您的表和索引的更多信息,并且平均值也可以由MySQL3计算。在这个数据库中使用了三个表。有一个具有id、族名和族号的族表,还有一个具有id、pfamily(这是族号)、model的风味表(包含系列号和风味id的唯一编号)、说明,最后是orders表,该表包含id、ordernum、orddate、型号(与风味表相同)和数量。该报告可以正常工作,只是淹没了数据库。谢谢..这很难找到..你不能用PHPMyAdmin转储表吗(我想你正在使用它…)我希望这就是你想要的……我是新来的,但这是一个模式,我一直试图使用它创建完整的数组,但它没有给我所有的flavor.id select flavor.id,IFNULL(SUM(orders.quantity),0)从orders订购时,在flavor.model=orders.model中加入flavor,其中orders.orddate>='131006'和orders.orddate