这是我的代码:
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 中所示
这是我的代码:
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 中所示
在 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; }
}
这里我不能传递额外的参数,因为这个函数在几个部分中被复用,有时它会抛出错误,当我们直接调用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
}