这是我正在处理的脚本,它将CSV文件显示为HTML表格。在HTML表格中,我有一个隐藏的行,使用此处未显示的jquery脚本,可以通过按钮切换显示或隐藏。
我的php脚本动态生成HTML表格,所以我想知道如何为#REPLACEME动态生成两个匹配值?
假设我的CSV文件有20行,这意味着HTML表格也有20行,因此我需要为#REPLACEME提供20对唯一值。
echo('<tr>');
echo('<td>
<button class="toggler" data-prod-cat="#REPLACEME">Vote</button>
</td>');
echo('</tr>');
echo('<tr class="cat#REPLACEME hidden">');
echo('</tr>')
<?php
$handle = fopen("example.csv", "r");
$data = fgetcsv($handle, 1000, ",");
$color = $data[3];
$options = $data[5];
echo('<table>');
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$color = $data[3];
$options = $data[5];
//generate HTML
echo('<tr data-color="' . $color . '" data-options="' . $options . '">');
foreach ($data as $index=>$val) {
echo('<td>');
echo htmlentities($val, ENT_QUOTES);
echo('</td>');
}
echo('</tr>');
echo('<tr>');
echo('<td>
<button class="toggler" data-prod-cat="#REPLACEME">Vote</button>
</td>');
echo('</tr>');
echo('<tr class="cat#REPLACEME hidden">');
echo('</tr>')
}
echo("</table>");
fclose($handle);
?>
答案 0 :(得分:1)
简单的递增值可以正常工作:
$i = 1;
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
// use $i as a basis for your ID, perhaps
$cssId = 'row-'.$i;
$i++;
}