2

这是我的代码:

foreach($jobs->result() as $job)
{  
    $table_data_rows.=get_jobs_data_row($job, $controller);
}

function get_jobs_data_row($job, $controller)
{
    if($job[0]) { }
}

当我们在函数中将单个行作为参数传递时如何检查特定的行号,如上面在 codeigniter 中所示

4

2 回答 2

0

在 codeigniter 中从返回的数据库数据中获取一行的方法是$result->row(rowNumber); considering $result contains result of query(检查以下页面http://ellislab.com/codeigniter/user-guide/database/results.html上的 row() 部分)

在您的情况下,您可以传递每一行及其行号的引用,如下所示:

$jobs = $this->db->query("YOUR QUERY");
for($i=0; $i<$jobs->num_rows(); $i++)
{  
    $table_data_rows.=get_jobs_data_row($jobs->row($i), $controller, $i);
}

function get_jobs_data_row($job, $controller, $rowNum)
{
    if($rowNum == 0) { return $job; }
}
于 2013-10-12T08:02:26.080 回答
0

这里我不能传递额外的参数,因为这个函数在几个部分中被复用,有时它会抛出错误,当我们直接调用get_jobs_data_row时。

因此,我发现自己要使用主键进行检查。

例如:

function get_jobs_data_row($job, $controller)
{
    $key = $job->jobs_id;
    $controller->db->select_sum('pure');

    $sum_qry = $controller->db->get_where('jobs', array('jobs_id <= ' => $key));
    //code to retrieve


}
于 2013-10-15T07:41:40.680 回答