Здесь я очистил ваш недопустимый HTML, использовал CSS и использовал более рекомендуемый стиль кодирования PHP.
Обратите внимание: вам нужно знать, что если $Selected
содержит введенные пользователем (или иным образомне в HTML), вам нужно заключить вывод в htmlspecialchars
или быть открытыми для уязвимостей XSS.
Было немного неясно, что вы имели в виду под «ограничением»изображения по три на строку ", учитывая, что в настоящее время он показывает только 1 на строку.Если я предполагаю, что вы хотите показать 3 в строке, а не 1, вам нужно использовать оператор модуля и открывать новый <tr>
только после каждого третьего элемента, а затем закрывать его в нужное время.Как это:
<style type="text/css">
a img { border: none; }
.friend-list { border: none; width: 25%; height: 25%; margin: 0 auto; }
.friend-list th { text-align: center; background-color: #4b2d0e; color: #fff; font-weight: bold; }
.friend-list td { background-color: #999999; }
</style>
<?php
$numCols = 3;
$colCount = -1;
?>
<table class="friend-list">
<tr>
<th colspan="<?php echo $numCols; ?>">Friend List</th>
</tr>
<?php
foreach($Selected as $row) {
$value = $row['dPath'];
$imgp = ($value) ? base_url().'images/'.$value : '../images/us.png';
if(++$colCount % $numCols == 0) {
echo '<tr>';
}
?>
<td>
<strong><?php echo $row['dFriendName']; ?></strong><br />
<a class="Tab_Link" href="<?php echo site_url(); ?>/friends/View_FProfile/<?php echo $row['dMember_Id']; ?>">
<img src="<?php echo $imgp; ?>" width="90" height="80" />
</a>
</td>
<?php
if(($colCount + 1) % $numCols == 0) {
echo '</tr>';
} elseif (($colCount + 1) == count($Selected)) {
// if 16 elements are to fit in 3 columns, print 2 empty <td>s before closing <tr>
$extraTDs = $numCols - (($colCount + 1) % $numCols);
for ($i = 0; $i < $extraTDs; $i++) {
echo '<td> </td>';
}
echo '</tr>';
}
}
?>
</table>