在输出中使用来自foreach循环的值

时间:2014-10-13 05:49:30

标签: php

也许这是一个非常基本的问题,但在谷歌搜索之后我找不到任何合适的答案,而且我对此很陌生。如何将PHP foreach循环中的值解析为url并使其成为查询字符串?

听起来不清楚?让我解释一下。

所以,这是我的PHP代码:

<?php foreach ($results as $data){ ?>
    <tr>
        <td><?php echo $data->emp_id; ?></td>
        <td><?php echo $data->emp_name; ?></td>
        <td><?php echo $data->emp_mobile_no; ?></td>
        <td><a href="<?php echo base_url(); ?>index.php/admin_logins/employee3"><button id="button_edit">Edit</button></a></td>
        <td><a href="<?php echo base_url(); ?>index.php/admin_logins/employee4"><button id="button_delete">Delete</button></a></td>
    </tr>
<?php }?>

现在,我想做的是这样的事情:

 <td><a href="<?php echo base_url(); ?>index.php/admin_logins/employee3/value of $data->emp_id"><button id="button_edit">Edit</button></a></td>

同样,这也是:

 <td><a href="<?php echo base_url(); ?>index.php/admin_logins/employee4/value of $data->emp_id"><button id="button_delete">Delete</button></a></td>

现在,正确的方法是什么?

3 个答案:

答案 0 :(得分:4)

只需使用以下代码:

<?php foreach ($results as $data){ ?>
    <tr>
        <td><?php echo $data->emp_id; ?></td>
        <td><?php echo $data->emp_name; ?></td>
        <td><?php echo $data->emp_mobile_no; ?></td>
        <td><a href="<?php echo base_url(); ?>index.php/admin_logins/employee3/<?php echo $data->emp_id; ?>"><button id="button_edit">Edit</button></a></td>
        <td><a href="<?php echo base_url(); ?>index.php/admin_logins/employee4/<?php echo $data->emp_id; ?>"><button id="button_delete">Delete</button></a></td>
    </tr>
<?php }?>

答案 1 :(得分:1)

以下是使用heredoc进行操作以便更容易查看的方法:

<?php
foreach ($results as $data) {
    $base_url = base_url();
    echo <<<TABLEROW
        <tr>
            <td>{$data->emp_id}</td>
            <td>{$data->emp_name}</td>
            <td>{$data->emp_mobile_no}</td>
            <td><a href="{$base_url}index.php/admin_logins/employee3/{$data->emp_id}"><button id="button_edit">Edit</button></a></td>
            <td><a href="{$base_url}index.php/admin_logins/employee4/{$data->emp_id}"><button id="button_delete">Delete</button></a></td>
        </tr>

    TABLEROW;
}
?>

答案 2 :(得分:-1)

您想要的是将ID从视图传递到controller。这应该使用帮助:

在你看来:

<?php foreach ($results as $data){ ?>
    <tr>
        ...
        <td><a href="<?php echo base_url(); ?>index.php/admin_logins/employee/edit?id={$data->emp_id}"><button id="button_edit">Edit</button></a></td>
        ...
    </tr>
<?php }?>

在您的控制器上employee

function edit($id = NULL)
{
    if(is_null($id))
        exit('Invalid employee id');

    $this->load->model('employee_model', 'employee');

    $employee = $this->employee->read($id);

    //do your stuff here
}

在你的模型`employee_model&#39;:

function read($id = NULL)
{    
    return $this->db->where('emp_id', $id)
                     ->get('employee')->row_array();
}