PHP Добавляет данные столбца в таблицу, ЕСЛИ условие Истинно

#php #html #foreach #file-exists

Вопрос:

Это очень сложный вопрос. Я не знаю, как это объяснить, но я постараюсь сделать все возможное. У меня есть таблица, в которой все значения поступают из БД на основе формы поиска:

стол

Последний столбец «Ссылка на карту» отображается, если выполняется определенное условие:

 $path = 'C:/my/path/here/maps/';

$find_ein = array_column($data, 'ein');
                    
foreach($find_ein as $map_ein){
    $map = $path.$map_ein.'_integration_map.xlsx';
    if(file_exists($map)){
        echo '<th class="report-headings">Map Link</th>';
        $map_link = $map;
    }else{
        //echo "no";
    }
}
 

Я пытаюсь перекликаться $map_link с этой колонкой. В этом примере $map_link принадлежит только 2-й строке, потому что не у всех EIN есть ссылка на карту. Для тех, кто это делает, EIN # включен в имя файла, поэтому я проверяю if(file_exists) . $map_link вместо этого добавляется в каждый столбец: (вы едва можете видеть, но в верхней части таблицы я повторяю $map_link , чтобы показать, что я получаю обратно, поэтому в столбце Ссылка на карту должно быть только 1 значение):
таблица 2

 foreach ($data as $entry){
    // create a new row in the table
    echo '<tr style="text-align:center;line-height:32px;">';

    $count = count($entry);
    $y = 0;
    while ($y < $count){
        $current_row = current($entry);
        // then fill the columns
        echo '<td>'.$current_row.'</td><td><button><a href="'.$map_link.'">Map Link</a></button></td>';
                                
        next($entry);
        $y = $y   1;
    }
    echo '</tr>';
}
 

Я не знаю, имеет ли все это смысл, однако это самое умное сообщество, которое я там нашел, поэтому я надеюсь, что кто-нибудь сможет помочь! Кроме того, я очень, очень новичок.

Комментарии:

1. Похоже $entry , это ваша полная строка с 5 столбцами. Если это так, то этот код будет повторяться 5 <td> секунд со ссылкой на карту. Если вам нужна ссылка на карту только один раз, в конце, переместите ее на свою собственную echo после while цикла, прямо перед вашим эхом </tr> .

2. @rickdenhaan фантастика! Конечно, единственное место, где я не проверял свое эхо-утверждение. Итак, теперь кнопка «Ссылка на карту» появляется в столбце «Ссылка на карту», теперь мне нужно выяснить, как сделать так, чтобы она отображалась только с соответствующим именем. Есть идеи, с чего начать?

3. Я бы лично полностью пропустил первый цикл, так $map_ein как то, что у вас есть, доступно в этом качестве $entry['ein'] . Если вы проверите файл в этом втором цикле, вы знаете, что смотрите на $map_link файл, который принадлежит этому $entry .