Создать ссылку внутри HTML таблицы - PullRequest
0 голосов
/ 11 апреля 2011

У меня есть следующий код для создания таблицы

    $query = $this->search_employee->getAll($config['per_page'], $this->uri->segment(3));

    $this->table->set_heading('Name', 'Department');
    $tmp = array ( 'table_open'  => '<table border="0" cellpadding="2" cellspacing="1" width="70%">' );
    $this->table->set_template($tmp);

    $data['main_content'] = 'display_professors';
    $data['table'] = $this->table->generate($query);

У меня вопрос, как я могу создать ссылку на каждую строку в столбце Имя, которая ссылается на view_employee / ID

Я использую табличный класс codeigniter .

1 Ответ

2 голосов
/ 11 апреля 2011

Возможно, есть лучший способ сделать это, но я просто перебираю строки запроса для создания строк таблицы:

if ($query->num_rows() > 0)
{
    foreach ($query->result() as $row)
    {
        $this->table->add_row(anchor('view_employee/ID/' . $row->employee_id, $row->employee_name), $row->employee_department);
    }
}

$data['table'] = $this->table->generate();

и т.д ...

UPDATE:

За ваш комментарий к этому ответу я не вижу, как этот метод больше вводит html в модель, чем ваш собственный пример. В конце концов, в любом случае все, что вы будете делать в представлении, это <?= $table; ?>, или подобное.

Если вы абсолютно хотите разделить их, вы можете сделать:

$data['rows'] = array();    

if ($query->num_rows() > 0)
{
    foreach ($query->result() as $row)
    {
        $this_row = array();
        $this_row['link'] = site_url('view_employee/ID/' . $row->employee_id);
        $this_row['employee_name'] = $row->employee_name;
        $this_row['employee_department'] = $row->employee_department;

        $data['rows'][] = $this_row;
    }
}

и затем в виде:

<table border="0" cellpadding="2" cellspacing="1" width="70%">
  <tr>
    <th>Name</th>
    <th>Department</th>
  </tr>
<? foreach($rows as $row): ?>
  <tr>
    <td><a href="<?= $row['link']; ?>"><?= $row['employee_name']; ?></a></td>
    <td><?= $row['employee_department']; ?></td>
  </tr>
<? endforeach; ?>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...