我有一个SQL数据库被查询,需要根据用户输入计算排序,然后按所述计算排序,然后打印出。PHP添加一个计算结果,推到结果数组,排序,然后打印
奇怪,我知道。
因此,随着被称为谷歌甲骨文的帮助下,我想出了下面的代码:
$result = mysql_query($query) or die(mysql_error());
$buffer = array();
while($row = mysql_fetch_array($result)){
$vars;
$calc1 = [[equation]];
$calc2 = [[equation]];
$calc3 = [[equation]];
$calc4 = [[equation]];
$row['calc1'] = $calc1;
$row['calc2'] = $calc2;
$row['calc3'] = $calc3;
$row['calc4'] = $calc4;
$buffer[] = $row;
}
print "<table border='1px' cellpadding='4px' cellspacing='0'><tr><th>TABLE HEADERS</th></tr>";
foreach($buffer as $row){
print "<tr><td>";
print $row['rows....'];
print "</tr>";
}
unset($buffer, $row);
print "</table>";
mysql_close();
显然复杂得多,但代码是目前专有的。我将有数百个条目,计算如下:
round((((($b1/$b2) * ($bcMix * $pVm)) + (($c1/$c2) * ((1 - ($bcMix * .01)) * $pVm)) * 12) * 5) + $pP, 2);
我也想用两个标准来排序结果:计算本身以及数字数据库条目 - 无论是从低到高。 usort
导致我的网站崩溃(无论何种原因):
usort($buffer, function($a, $b){
return $a['tcoy1'] < $b['tcoy1'];
});
有什么建议?
array_push需要一个数组推动,以及推动什么。另外,你确定你不能纯粹在SQL中进行排序吗? – bfavaretto 2013-04-24 03:26:11
排序标准基于用户输入 - 所以需要先计算出排序后的标准。 SQL可以做很好的计算吗? $ row是一个数组,每当我做'var_dump($ row)'它打印'array(...'。 – Christopher 2013-04-24 03:28:06
@Christopher:向我们展示计算。是的,MySQL可以做计算。取决于它们有多复杂,你有很多记录,在SQL和PHP中执行它们可能会也可能不会更好 – mpen 2013-04-24 03:55:01