2015-03-18 4 views
0

Это сценарий, над которым я работаю, который отображает CSV-файл в виде таблицы HTML. В таблице HTML у меня есть скрытая строка, которая, используя скрипт jquery, который не отображается здесь, может быть переключен для отображения или скрытия с помощью кнопки.Создать значения атрибутов соответствия с помощью php?

Мой php-сценарий динамически генерирует таблицу HTML, поэтому мне интересно, как я могу динамически генерировать два совпадающих значения для #REPLACEME?

Скажем, у моего CSV-файла есть 20 строк, это означает, что таблица HTML также будет содержать 20 строк, и поэтому мне нужно 20 уникальных пар значений для #REPLACEME.

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

почему бы вам нужен уникальный один, вы можете использовать классы для переключения тех – Ghost

+0

Использование класса вместо уникальной значение будет переключать все скрытые строки при нажатии любой из кнопок, нет? Мне нужна каждая конкретная кнопка для переключения определенной строки, поэтому они должны иметь соответствующее значение. – Kreation

+0

Вы используете jquery? нет, вы бы только переключили тот, который вы нажали, но вы привязываете это событие к каждой кнопке – Ghost

ответ

1

Простое значение Приращение будет работать нормально:

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

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

    $i++; 
} 
Смежные вопросы