Javascript php中基于值的单元格格式
我有2个文本文件,并使用php将其内容读入2个数组。然后我创建一个表并将其显示在我的站点上。现在,我想根据某些值为数组2(第2列)中的每个单元格着色 例如: 如果array2中的值包含“忙”,则应将其格式化为红色,如果 包含“可用”,格式应为绿色Javascript php中基于值的单元格格式,javascript,php,html,Javascript,Php,Html,我有2个文本文件,并使用php将其内容读入2个数组。然后我创建一个表并将其显示在我的站点上。现在,我想根据某些值为数组2(第2列)中的每个单元格着色 例如: 如果array2中的值包含“忙”,则应将其格式化为红色,如果 包含“可用”,格式应为绿色 我尝试了一些可能的解决办法,但没有成功。 有什么想法吗?如果有什么我应该提供的信息,尽管问 编辑: 文件1和2的内容: ramfile1: User@1 User@2 User@3 User@n ramfile2: 忙碌的 忙碌的 可用 忙碌的
我尝试了一些可能的解决办法,但没有成功。
有什么想法吗?如果有什么我应该提供的信息,尽管问
编辑:
文件1和2的内容:
ramfile1:
User@1
User@2
User@3
User@n
ramfile2:
忙碌的
忙碌的
可用
忙碌的
foreach($合并为$file1=>$file2):
这句话毫无意义。它可能会运行,但不会像您描述的那样运行。我想你真的想要像
foreach ($file1 as $i=>$value) {
$html .= "<tr>";
$html .= "<td>".$file1[$i]."</td>";
$html .= "<td>".$file2[$i]."</td>";
$html .= "</tr>";
}
foreach($file1作为$i=>$value){
$html.=”;
$html.=''.$file1[$i]。'';
$html.=''.$file2[$i]。'';
$html.=”;
}
但是,根据行号将一个文件中的数据与另一个文件中的数据进行解析是一种非常糟糕的数据结构选择
如果array2中的值包含“忙”,则应将其格式化为红色,如果包含“可用”,则应将其格式化为绿色
有很多方法可以做到这一点。你可以调用一个函数
$bgcolor=lookup_css_class($file2[$i]);
$html .= "<td class='$bgcolor'>$file2[$i]</td>";
$bgcolor=lookup\u css\u类($file2[$i]);
$html.=“$file2[$i]”;
或者可以使用依赖性注入,也可以使用数组查找。或者,您可以简单地基于该值声明CSS类,并将该值作为TD的类名注入(但请记住,这允许具有数据控制权的人将html/javascript注入您的页面:
td.busy {background-color: red;}
td.free {background-color: green;}
...
$html .= "<td class='$file2[$i]'>$file2[$i]</td>";
td.busy{背景色:红色;}
td.free{背景色:绿色;}
...
$html.=“$file2[$i]”;
.Busy{背景色:#f2a179;}
.可用{背景色:#00ff00;}
ramfile1.txt和ramfile2.txt文件的内容是什么?哪个变量包含busy
或available
在这里?@OnurKAYA我编辑了这个问题,文件的内容是每个文件上的用户名和状态值line@GeorgeBaileyramfile2与eiter“忙”或“可用”一致。我把它读给数组2。所以你的问题的答案是数组2中的每个值都是忙
还是可用
我试图实现你对我的代码的解决方案,但出现了一些问题。我想这是我的错置。我应该把你的放在哪里?我需要删除什么?谢谢你,that完全符合我的要求。是否有任何可能的方法我只能给第2列的单元格上色?这样任何“忙”或“可用”的单元格都会上色?是的,您可以在单元格上给出类名。像这样;演示
td.busy {background-color: red;}
td.free {background-color: green;}
...
$html .= "<td class='$file2[$i]'>$file2[$i]</td>";
<?php
$path = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.'demo'.DIRECTORY_SEPARATOR;
$file1 = $path.'ramfile1.txt';
$file2 = $path.'ramfile2.txt';
if(file_exists($file1) && file_exists($file2)) {
$line1= file($file1, FILE_IGNORE_NEW_LINES);
$line2 = file($file2, FILE_IGNORE_NEW_LINES);
$combine = array_combine($line1, $line2);
$html = '<table align="center">';
$html .= '<tr><td width="300px"></td><td></td></tr>';
$i = 1;
foreach ($combine as $key => $value):
$html .= '<tr class="'.$value.'">';
$html .= '<td>'.$key.'</td>';
$html .= '<td>'.$value.'</td>';
$html .= '</tr>';
$i++;
endforeach;
$html .= '</table>';
echo $html;
}
?>
<style>
.Busy { background-color: #f2a179;}
.Available { background-color: #00ff00;}
</style>