Записи отображаются дважды, если имеется более одной записи

Похоже, модуль csv ожидает строки, а не bytes. Таким образом, вы можете дешифровать свой bytes перед их передачей:

cell.text.encode('ascii', 'replace').decode('ascii')
0
задан Sparky 20 January 2019 в 05:49
поделиться

1 ответ

Попробуйте этот код по вашему мнению. Я только добавил счетчик для отслеживания количества действий для каждого пользователя и отслеживания текущей позиции в цикле, чтобы распечатать только один заголовок таблицы и информацию о пользователе для каждого пользователя:

<?php 
foreach ($SActivity as $sec_data) {

    $counter = 0; // COUNTER FOR KNOWING POSITION IN ACTIVITIES LOOP 
    $num_activities = count($sec_data); // TOTAL NUMBER OF ACTIVITIES FOR THIS USER

    foreach ($sec_data as $row) { 
        $counter++; // ADD +1 TO COUNTER FOR EACH ACTIVITY

        // ONLY PRINT OUT THE NAME AND TABLE HEADER IF FIRST ROW 
        if($counter == 1){ ?>

        <h2><?php echo $row->first_name;?><?php echo $row->last_name;?></h2>
        <p><?php echo $row->email;?></p>
        <table>
            <thead>
                <tr>
                    <th>ActivityName</th>
                    <th>Activity_startTime</th>
                    <th>Activity_endTime</th>
                </tr>
            </thead>
            <tbody>

        <?php } ?>      

                <tr>
                    <td><?php echo $row->ActivityName;?></td>
                    <td><?php echo $row->Activity_startTime;?></td>
                    <td><?php echo $row->Activity_endTime;?></td>
                </tr>

        <?php 
        // IF THIS IS THE LAST ACTIVITY OF THIS USER IN THE LOOP: PRINT TABLE END TAG
        if($counter == $num_activities){
            echo '</tbody></table>';
        }
    } 
} 
?>
0
ответ дан Michael K 20 January 2019 в 05:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: