Получение каждого 7-го элемента из массива при выводе таблицы - PullRequest
1 голос
/ 08 октября 2019

Я получаю необходимые данные от fgetcsv и сохраняю их в $data. Он содержит таблицу со строкой заголовка и много информации. Каждый седьмой столбец - это путь к файлу.

Я уже искал проблему, но не могу найти решение.

Мой код еще:

echo '<table border="0" cellspacing="0" cellpadding="5" class="csvTable" width="auto">';
$handle = fopen("index.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>'.$data[$x].'</th>' . "\n";
        else
            echo '<td>'.$data[$x].'</td>' . "\n";
    }
    $start++;
    echo '</tr>' . "\n";
}
fclose($handle);
echo '</table>';

Я хочу добавитьгиперссылка через <a href=?> на каждый 7-й столбец, но я не знаю как. Как я могу это сделать, и это правильный путь?

Ответы [ 2 ]

1 голос
/ 08 октября 2019

Вы проверяете, что каждый столбец является 7-м столбцом или делится на 7, вы можете просто проверить, делится ли переменная на 7 следующим образом.

echo '<table border="0" cellspacing="0" cellpadding="5" class="csvTable" width="auto">';
$handle = fopen("index.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>'.$data[$x].'</th>' . "\n";
        else
            echo '<td>'.$data[$x].'</td>' . "\n";
        if( $x && !($x % 7) ){
        echo '<a href=?>'
        }
    }

    $start++;
    echo '</tr>' . "\n";
}
fclose($handle);
echo '</table>';
0 голосов
/ 08 октября 2019

Проверьте, равен ли остаток на 7 вашего счетчика 0. Если это так, то он кратен семи, и вы можете отобразить нужную строку.

if($start % 7 === 0){
  echo '<a href=?>'
}
...