Гиперссылка через ячейки таблицы? - PullRequest
3 голосов
/ 09 февраля 2012

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

Я генерирую свою таблицу, используя PHP для вывода результатов из моей базы данных в таблицу. Когда это повторяется, он генерирует гиперссылку с переменными GET в конце, которые позволяют пользователю посетить страницу, относящуюся к этой информации.

Проблема в том, что я не могу сгенерировать гиперссылку, которая будет проходить по этим ячейкам таблицы, я просмотрел сеть, и нет ничего, что говорит, что я не могу этого сделать.

Как вы можете видеть на скриншоте ниже, я создаю гиперссылку внутри одной ячейки таблицы, но я хочу, чтобы другая ячейка таблицы имела такую ​​же гиперссылку.

enter image description here

Код

while ($row = $db->fetch_assoc($newest))
                        {
                            echo "<tr>";
                                echo "<td>";
                                    echo  "<a href='manager.php?method=view&id=".$row['id']."'>".$row['first_name']." ". $row['second_name']. "</td><td>".$row['company_name']."</a>";
                                echo "</td>";
                            echo "</tr>";
                        }

У меня такое ощущение, что мне просто нужно сгенерировать две отдельные гиперссылки для ячеек таблицы.

Однако я надеюсь, что кто-то здесь может доказать, что я не прав, и сэкономить мне несколько строк кода.

Спасибо:)

Ответы [ 5 ]

5 голосов
/ 09 февраля 2012

Используя собственные гиперссылки, вам придется создавать отдельные оболочки для каждой ячейки.

Однако, если вы хотите использовать JS для компоновки и перенаправления, вы можете сделать что-то вроде:

.....
<tr class="clickable" data-href="http://google.com">
<td>cell-1</td>
<td>cell-2</td>
<td>cell-3</td>
</tr>
....

и затем:

$(function(){
    $('tr.clickable').click(function(){
        window.location.href = $(this).attr('data-href');
    });
});
2 голосов
/ 09 февраля 2012

Просто обойдите это с помощью JS:

echo "<tr onclick=\"location.href='manager.php?method=view&id=".$info.";'\">";
1 голос
/ 09 февраля 2012
while ($row = $db->fetch_assoc($newest))
{
    echo "<tr>";
    echo "<td>";
    echo "<a href='manager.php?method=view&id=".$row['id']."'>".$row['first_name']." ". $row['second_name']."</a></td><a href='manager.php?method=view&id=".$row['id']."'>".$row['company_name']."</a><td></td>";
    echo "</td>";
    echo "</tr>";
}
1 голос
/ 09 февраля 2012

Вы не можете сделать это так. Попробуйте вместо:

 while ($row = $db->fetch_assoc($newest))
    {
        $url = "manager.php?method=view&id=".$row['id'];
        echo "<tr>";
            echo "<td><a href=\"" . $url.  "\">" . $row['first_name']." ". $row['second_name']. "</a></td>";
            echo "<td><a href=\"" . $url.  "\">" . $row['company_name'] . "</a></td>";
        echo "</tr>";
    }
1 голос
/ 09 февраля 2012

Если вы не хотите разбивать структуру таблицы (т. Е. Помещать имя и компанию в одну (многоколоночную) ячейку), ИМХО нет другого способа, кроме создания двух гиперссылок.

Что вам может понадобиться, это использовать CSS для эффекта наведения мыши и JavaScript для регистрации пользователя, щелкнувшего по ячейке (который можно, учитывая приведенную выше структуру, связать с элементом tr).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...