0

我有一个数据库,它显示存储在其中的所有员工的结果。

它可以工作并显示所有员工,但我想知道是否有可能让每一行都可以点击一个特定的 ID。

我以为我必须为每个函数创建一个循环遍历每一行并使其 onClick 的函数,但我仍然非常困惑。

    Controller

$this->load->model('Employee_model');
$results = $this->Employee_model->search($offset,$sort_by,$sort_order);
$data['employees'] = $results['rows'];
$data['num_results'] = $results['num_rows'];

$this->load->view('employees', $data);


    Model
function search($sort_by, $sort_order)
{

//result query
$q = $this->db->select('*')
    ->from('employees')
    ->order_by($sort_by,$sort_order)


      // if onclick row then display additional information


}

 view
<?php foreach($employees as $row): ?>
<tr> 
    <td><?php echo $row->first_name; ?></td>
    <td><?php echo $row->last_name; ?></td>
    <td><?php echo $row->gender; ?> </td>

    </tr>
    <?php endforeach; ?>
4

2 回答 2

2

怎么样?
考虑到;

<?php foreach($employees as $row): ?>
<tr data-id="<?php echo $employee->id; ?>"> 
    <td><?php echo $employee->first_name; ?></td>
    <td><?php echo $employee->last_name; ?></td>
    <td><?php echo $employee->gender; ?> </td>
    </tr>
<?php endforeach; ?>

<script type="text/javascript">
$("tr").click(function() {
    window.location = 'your-controller/the-id-view-function/'+$(this).data('id');
}
</script>
于 2012-12-17T16:16:11.813 回答
0

onclick 事件由 HTML 页面中的 Javascript 处理。所以基本上你需要做的是:

在 php 脚本中检索数据库信息,如您所说,执行循环。将 HTML 代码存储到变量中或回显它,但请记住,您必须输出完整正确的 HTML 页面(带有html,headbody标签)。

您可以在从 PHP 返回的 HTML 上插入 onclick 事件,也可以从 Jquery 声明一个单击事件。第一个更简单,所以我将举一个使用这种方法的例子

while(something){ //loop through all DB results
    $table_tr.="<tr onclick='do_something_when_tr_click(".$id_from_db.")'><td>$data_from_db</td></tr>";

}

echo "<html><head><script>(javascript functions go here)</script></head><body><table>$table_tr</table></body></html>";
于 2012-12-17T16:11:43.133 回答