用php生成匹配的属性值?

时间:2015-03-18 11:39:40

标签: php html

这是我正在处理的脚本,它将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);
    ?>

1 个答案:

答案 0 :(得分:1)

简单的递增值可以正常工作:

$i = 1;
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

    // use $i as a basis for your ID, perhaps
    $cssId = 'row-'.$i;

    $i++;
}