#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 значение):
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
.