时间:2021-07-01 10:21:17 帮助过:5人阅读
在做一个统计网页,现在遇到这样一个问题。
如标题:怎么在二维数组中,找到每个单列的最值。
如图,我需要找到需要的单列的最值,然后应用相应的样式。
现在的显示效果
需要实现的显示效果
相应的颜色css类我已经写好了,只需要引用就行了。
不用js代码,也就是说直接在生成的时候直接判断,再引用样式。
部分代码如下:
$index=1;
while($row = mysql_fetch_array($result)){
echo '';
echo ''.$index.' ';
echo ''.$row[user].' ';
echo ''.$row[speed].' ';
echo ''.$row[keystroke].' ';
echo ''.$row[length].' ';
echo ''.$row[backspace].' ';
echo ''.$row[wrong].' ';
echo ''.$row[ime].' ';
echo ''.$row[wordcount].' ';
echo ''.$row[timecost].' ';
echo ''.$row[qq].' ';
echo ''.date("H:i",strtotime($row[timestart])).' ';
echo ''.$row[repeat].' ';
echo ''.$row[score].' ';
echo ''.$row[scoresum].' ';
echo ' ';
$index++;
/************************************************
其中的essential和center没什么其它作用,可以忽略。
************************************************/
}
切成数组什么的好说,我只是不知道存入数组后如何才能进行判断。
求大神说的细点,小白在此谢过。
在做一个统计网页,现在遇到这样一个问题。
如标题:怎么在二维数组中,找到每个单列的最值。
如图,我需要找到需要的单列的最值,然后应用相应的样式。
现在的显示效果
需要实现的显示效果
相应的颜色css类我已经写好了,只需要引用就行了。
不用js代码,也就是说直接在生成的时候直接判断,再引用样式。
部分代码如下:
$index=1;
while($row = mysql_fetch_array($result)){
echo '';
echo ''.$index.' ';
echo ''.$row[user].' ';
echo ''.$row[speed].' ';
echo ''.$row[keystroke].' ';
echo ''.$row[length].' ';
echo ''.$row[backspace].' ';
echo ''.$row[wrong].' ';
echo ''.$row[ime].' ';
echo ''.$row[wordcount].' ';
echo ''.$row[timecost].' ';
echo ''.$row[qq].' ';
echo ''.date("H:i",strtotime($row[timestart])).' ';
echo ''.$row[repeat].' ';
echo ''.$row[score].' ';
echo ''.$row[scoresum].' ';
echo ' ';
$index++;
/************************************************
其中的essential和center没什么其它作用,可以忽略。
************************************************/
}
切成数组什么的好说,我只是不知道存入数组后如何才能进行判断。
求大神说的细点,小白在此谢过。
知道怎么弄了, 先从数据库把每列的数据先读取出来,然后用max(),min()计算每列的最值
然后,在输出的时候,当前列的数据是否等于这一列的最值,等于的话就给予特殊样式。
其中需要注意的一项是:mysql_fetch_array只能取一次数据,取完一次之后里面就没有数据了。所以先把查询到的数据转存。
部分代码如下:
//转存查询的结果
$temp_result = array();
while($row=mysql_fetch_array($result)){
array_push($temp_result, $row);
}
//获取每个列的所有数据,算出最值;
$speed = array(); $keystroke = array(); $length = array(); $backspace = array(); $repeat = array();
foreach ($temp_result as $row ) {
array_push($speed, $row[speed]);
array_push($keystroke, $row[keystroke]);
array_push($length, $row[length]);
array_push($backspace, $row[backspace]);
array_push($repeat, $row[repeat]);
}
$max_speed=max($speed);
$max_keystroke=max($keystroke);
$min_length = min($length);
$min_backspace = min($backspace);
$max_repeat = max($repeat);
//
输出列表
$index=1;
foreach ($temp_result as $row ) {
echo '最终的显示效果