我正在使用PHP代码生成一个html表来从.csv表中获取内容。
现在我希望每个特定单元格的格式取决于它的内容。
我的(可能是可怕的)伪代码尝试:
if (cell content == "green")
use #green-css-style
if else (cell content == "blue")
use #blue-css-style
等等。
我只希望它“收听”有限数量的不同内容(约5)。
这是我的PHP表生成器:
<?php
$hasTitle = true;
echo '<table id="dataTable" class="table">';
$handle = fopen("data.csv", "r");
$start = 0;
;
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
{
echo '<tr>' . "\n";
for ( $x = 0; $x < count($data); $x++)
{
if ($start == 0 && $hasTitle == true)
echo '<th title="ignore_case">'.$data[$x].'</th>' . "\n";
else
echo '<td>'.$data[$x].'</td>' . "\n";
}
$start++;
echo '</tr>' . "\n";
}
fclose($handle);
;
echo '</table>' . '<br style="clear: both;">';
?>
非常欢迎任何有关此方面的帮助,可根据要求提供其他详细信息! :)
答案 0 :(得分:1)
只需在php代码中的td元素中添加一个类即可。你无法访问css中元素的内容。
switch($data[x]) {
case 'green': $class = 'green'; break;
case 'blue': $class = 'blue'; break;
//...
default: $class = ''; break;
}
echo '<td class="'.$class.'">'.$data[$x].'</td>' . "\n";
然后,您可以使用以下css代码:
td.green { color: green; }
td.blue { color: blue; }
答案 1 :(得分:0)
你能提供一些真实的代码吗?
您通常需要定义不同的css类并将它们添加到适当的标记
请改用此代码:
$hasTitle = true;
$result_code = '<table id="dataTable" class="table">';
$handle = fopen("data.csv", "r");
$start = 0;
;
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
{
$result_code .= '<tr>' . "\n";
$css_class_name = '';
for ( $x = 0; $x < count($data); $x++)
{
if ($start == 0 && $hasTitle == true)
switch(strtolower($data[$x])) {
case 'green':
$css_class_name = 'class-green';
break;
case 'red':
$css_class_name = 'class-red';
break;
default:
$css_class_name = 'DEFAULT VALUE';
break;
}
$result_code .= '<th title="ignore_case" class="' . $css_class_name . '">'.$data[$x] . '</th>' . "\n";
else
$result_code .= '<td>'.$data[$x].'</td>' . "\n";
}
$start++;
$result_code .= '</tr>' . "\n";
}
echo $result_code;
答案 2 :(得分:0)
您可以使用开关。试试这样:
switch(cell_content){
case "green":
// something
break;
case "blue":
// something
break;
case "red":
//something
break;
default:
//something
break;
}