Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Таблица c кликабельными ячейками


Автор: Strafer 12.10.2010, 11:57
Доброго времени суток, подскажите пожалуйста, как написать некую "универсальную" функцию чтобы при выводе данных из БД в виде таблицы, определённые яцейки были ссылками. Нечто похожее на список пользователей, например, в phpbb, хотя у меня ситуация немного другая ибо количество столбцов может изменятся. На данный момент у меня есть 2 функции и объеденить их во что то одно у меня не получается.
Код

printf("<table border=\"1\"><tr><td>Например один столбец</td></tr>");
function table($stat)
{
if (isset($stat))
{
foreach ($stat as $row) {
    echo "<tr>";
      foreach ($row as $field) {
     echo "<td>$field</td>";
    }
    echo "</tr>";
    }
    echo "</table>"; 
}
}

и вторая(сокращённый вариант)
Код

$stm("SELECT....", $db);
echo "<table border=\"1\">";
while ($row = mysql_retch_array($stm))
{
    print("<tr><td>%s</td><td><a href=index.php?num=%s>Подробнее<a></td></tr>",$row[0],$row[1])
}
echo "</table>";


Автор: supercelt 5.12.2010, 03:57
можно попробовать яваскриптом. Повесить событие onclick на ячейку и отправлять на нужный УРЛ

Автор: ksnk 5.12.2010, 12:25
вместо этого
Код

echo "<td>$field</td>";

написать вот это
Код

echo '<td><a href="?xxx='.urlencode($field).'">$field</a></td>';

?

Автор: Strafer 6.12.2010, 09:30
ksnk, спасибо большое, а то максимум что я смог это
Код

<td><a href=index.php?num=$row[0]>$field<a></td>

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)