Re: [請益] codeigniter跟資料庫取資料時會報錯
我根據版友建議使用了var_dump查看資料內容
內容是正確的
array(31) { [0]=> object(stdClass)#18 (2) { ["specialty_id"]=> string(1) "1"
["specialty_name"]=> string(9) "小兒科" } [1]=> object(stdClass)#19 (2) {
["specialty_id"]=> string(1) "2" ["specialty_name"]=> string(15) "心臟血管科"
} [2]=> object(stdClass)#20 (2) { ["specialty_id"]=> string(1) "3"
["specialty_name"]=> string(15) "代謝內分泌" } ....後面省略
我將比較完整的錯誤資訊與程式碼貼上來
再請大家給我點意見
錯誤訊息
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 31
Filename: controllers/specialty.php
Line Number: 61
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: controllers/specialty.php
Line Number: 61
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 31
Filename: controllers/specialty.php
Line Number: 62
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: controllers/specialty.php
Line Number: 62
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 31
Filename: controllers/specialty.php
Line Number: 63
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: controllers/specialty.php
Line Number: 63
以下為controller的程式碼
發生錯誤的61-63是for($i=0; $i<$page_rows; $i++) 中間的內容
public function show($page=1)
{
$this->VerifyAndReturnLogin();
echo $this->load->view('v_header','',true);
echo $this->load->view('v_menu','',true);
echo $this->draw_content($page);
echo $this->load->view('v_footer','',true);
}
private function draw_content($page)
{
$this->load->model('SpecialtyModel');
$query = $this->SpecialtyModel->selectAll();
$row = $query->result();
$cnt = $query->num_rows();
var_dump($row);
$page_rows = 50; // 每頁幾行
$final = ($cnt%$page_rows)==0?
intval($cnt/$page_rows):intval($cnt/$page_rows)+1;
$next = $page==$final?$page:$page+1;
$last = $page==1?$page:$page-1;
$arrlink = array();
array_push($arrlink, '<a href="' . site_url("/specialty/show/1") .'">第一頁
</a> ');
array_push($arrlink, '<a href="' . site_url("/specialty/show/$last") .'">上一
頁</a> ');
array_push($arrlink, '<select onchange="window.location=this.value;" >');
for($i=1; $i<=$final; $i++)
{
if($i==$page) array_push($arrlink, '<option selected
value="'.site_url("/specialty/show/$i")."\" >第 $i 頁</option>");
else array_push($arrlink, '<option
value="'.site_url("/specialty/show/$i")."\" >第 $i 頁</option>");
}
array_push($arrlink, "</select> ");
array_push($arrlink, '<a href="' . site_url("/specialty/show/$next") .'">下一
頁</a> ');
array_push($arrlink, '<a href="' . site_url("/specialty/show/$final").'">最後
一頁</a> ');
$this->load->library('table');
$this->table->set_template(array('table_open'=>'<table
class="CLS_SHOWTABLE">'));
$this->table->set_heading('edit', 'specialty_id','醫療科別' );
for($i=0; $i<$page_rows; $i++)
{
$index = ($page-1)*$page_rows+$i;
$this->table->add_row(
'<a href="' . site_url('specialty/edit/' . $row[$index]->specialty_id ).
'">編輯</a> <a href="' . site_url('specialty/delete/' .
$row[$index]->specialty_id) . '">移除</a>',
$row[$index]->specialty_id,
$row[$index]->specialty_name
);
}
$table = $this->table->generate();
$html = array(
"<h2>specialty</h2>",
"<hr />",
implode($arrlink) . ' <a href="'. site_url('specialty/edit') .
'">新增一筆資料</a>',
$table,
implode($arrlink)
);
return implode($html);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.85.131.202
→
07/02 08:19, , 1F
07/02 08:19, 1F
→
07/02 08:20, , 2F
07/02 08:20, 2F
→
07/02 09:09, , 3F
07/02 09:09, 3F
→
07/02 09:09, , 4F
07/02 09:09, 4F
→
07/02 09:10, , 5F
07/02 09:10, 5F
→
07/02 09:43, , 6F
07/02 09:43, 6F
→
07/02 09:43, , 7F
07/02 09:43, 7F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
4
18
6
15