Создать отдельные гиперссылки для group_concat и отобразить результаты в одной ячейке таблицы
У меня есть следующий код, который успешно создает отдельную ссылку для каждого из объектов group_concat, но вместо того, чтобы поместить их в одну ячейку таблицы, он помещает их в отдельные ячейки. Может кто-нибудь мне помочь? Вот полный код:
<?php
if (isset($search))
{
$count=mysqli_num_rows($query) ;
if($count>=1){
$search_output .= "<hr color=red />$count results for <strong>$search</strong><hr color=red />";
while ($row = mysqli_fetch_array($query,MYSQLI_ASSOC)) {
$Title = $row['Title'];
$Year = $row['Year'];
$Authors = $row['Authors'];
$Journal=$row['Journal'];
$Genes=explode(',', $row['Genes']);
$Data_Type=$row['Data_Type'];
echo"<tr>";
echo "<td>".htmlspecialchars($row['Title'])."</td>";
echo "<td>".htmlspecialchars($row['Year'])."</td>";
echo "<td>".htmlspecialchars($row['Authors'])."</td>";
echo "<td>".htmlspecialchars($row['Journal'])."</td>";
foreach($Genes as $aGenes){
echo "<td><a target=\"_blank\" href='http://www.ncbi.nlm.nih.gov/gene/?term=" .$aGenes."'> ".$aGenes." </a> </td>";
}
echo "<td>".htmlspecialchars($row['Data_Type'])."</td>";
echo"</tr>";
}
}else{
$search_output = "<hr />0 results for <strong>$search</strong><hr />";
}
echo "$search_output";
}
?>
1 ответ
Решение
Я думаю, проблема в том, что вы создаете отдельные ячейки для каждой ссылки здесь
foreach($Genes as $aGenes){
echo "<td><a target=\"_blank\" href='http://www.ncbi.nlm.nih.gov/gene/?term=" .$aGenes."'> ".$aGenes." </a> </td>";
}
вместо этого делай это
echo '<td>';
foreach($Genes as $aGenes){
echo "<a target=\"_blank\" href='http://www.ncbi.nlm.nih.gov/gene/?term=" .$aGenes."'> ".$aGenes." </a> ";
}
echo '</td>';
То есть вывести тег td из цикла for each, чтобы они отображались только один раз для каждого элемента цикла while