我在PHP中创建了一个简单的html表。这是我的代码:
<div id="wrapper">
<div class="chart">
<h2>Files Uploaded to Knowledge Base</h2>
<table id="data-table" border="1" cellpadding="10" cellspacing="0">
<tr id=header>
<td>Users</td>
<td id=center>Project Files</td>
<td id=center>Process Files</td>
<td id=center>System Files</td>
<td id=center>Total Files</td>
</tr>
<?php
$di = new RecursiveDirectoryIterator('upload/project/');
foreach (new RecursiveIteratorIterator($di) as $filename => $file) {
$pos = 15;
$file = substr("$filename", +$pos);
$lenght = strlen($file);
$pos = strpos($file, "/");
$file = substr("$file",0,$pos);
if($file1 != '.DS_Store'){
$serverfiles = mysql_query("SELECT uploader FROM Project WHERE location = '$file'");
while($row = mysql_fetch_array($serverfiles)) {
$occurance1 = $row['uploader'];
$array1[] = $occurance1;
}
}
}
$di = new RecursiveDirectoryIterator('upload/process/');
foreach (new RecursiveIteratorIterator($di) as $filename => $file) {
$pos = 15;
$file = substr("$filename", +$pos);
$lenght = strlen($file);
$pos = strpos($file, "/");
$file = substr("$file",0,$pos);
if($file != '.DS_Store'){
$serverfiles = mysql_query("SELECT uploader FROM Process WHERE processlocation = '$file'");
while($row = mysql_fetch_array($serverfiles)) {
$occurance2 = $row['uploader'];
$array2[] = $occurance2;
}
}
}
$di = new RecursiveDirectoryIterator('upload/system/');
foreach (new RecursiveIteratorIterator($di) as $filename => $file) {
$pos = 14;
$file = substr("$filename", +$pos);
$lenght = strlen($file);
$pos = strpos($file, "/");
$file = substr("$file",0,$pos);
if($file != '.DS_Store'){
$serverfiles = mysql_query("SELECT uploader FROM System WHERE location = '$file'");
while($row = mysql_fetch_array($serverfiles)) {
$occurance3 = $row['uploader'];
$array3[] = $occurance3;
}
}
}
$table_rows = array();
$counter = 0;
$uploader = mysql_query("Select username from members");
while($Load = mysql_fetch_array($uploader)){
$value = $Load['username'];
$tmp = array_count_values($array1);
$cnt = $tmp[$value];
$tmp2 = array_count_values($array2);
$cnt2 = $tmp2[$value];
$tmp3 = array_count_values($array3);
$cnt3 = $tmp3[$value];
$total = $cnt + $cnt2 + $cnt3;
//putting the values into array
$counter++;
$table_rows[$counter] = array();
$table_rows[$counter]['username'] = $value;
$table_rows[$counter]['project'] = $cnt;
$table_rows[$counter]['process'] = $cnt2;
$table_rows[$counter]['system'] = $cnt3;
$table_rows[$counter]['total'] = $total;
}
//function to sort the highest total value
function cmp_rows($a,$b) {
if ($a['total'] == $b['total']) {
return 0;
}
return ($a['total'] > $b['total']) ? -1 : 1;
}
usort($table_rows, 'cmp_rows');
//loop that prints values
foreach($table_rows as $row) {
echo "<tr>";
echo "<td>{$row['username']}</td>";
echo"<td id=center>{$row['project']}</td>";
echo"<td id=center>{$row['process']}</td>";
echo "<td id=center>{$row['system']}</td>";
echo "<td id=center>{$row['total']}</td>";
}
?>
</table>
</div>
</body></html>
从数据库表填充用户。通过读取和计算目录中的文件数量来填充文件数字。该表按最高排序。我希望第一行,第二行和第三行的颜色与其他行不同。
我不知道该怎么做。有人可以指导我朝正确的方向发展吗?
谢谢!
答案 0 :(得分:0)
向foreach添加一个键,然后在输出表格行时创建一个简单的if / else语句:
> foreach( $table_rows as $key => $row ) {
> if ( $key < 3 ) {
> echo "<tr style="background color here">;
> }
> else {
> echo "<tr>";
> }
> //Rest of Code Here }