我收到有关这3个变量的以下两条错误消息:
消息1)未定义的变量:行 消息2)试图获取非对象的属性
编辑:(最终找到编辑按钮),因此3个变量是:
$anatomic_code = $rows->NerveCode;
$ProxAccess = $rows->ProxAccess;
$DistAccess = $rows->DistAccess;
在我看来,这是上面的3行给了我两个错误。
我没有包括该模型,因为我认为问题不存在,更多是因为在我之前使用了很多不同的表将数据存储在其中的原因,这归功于开发人员的代码,但是我我准备在需要时发布它。
控制器->
function se_enkel_test()
{
$this->freakauth_light->check('submitter');
$tech_num = $this->uri->segment(6);
$this->load->model('view_single_test','',true);
$data['query'] = $this->view_single_test->query();
$data['query_tech_type'] = $this->view_single_test->query_tech_type();
$data['query_parameters'] = $this->view_single_test->query_parameters();
$data['query_tech_name'] = $this->view_single_test->query_tech_name();
$data['query_test'] = $this->view_single_test->query_test();
$data['query_temperat'] = $this->view_single_test->query_temperat();
$data['query_semiq'] = $this->view_single_test->query_semiq();
$data['query_conclusion'] = $this->view_single_test->query_conclusion();
$data['query_side'] = $this->view_single_test->query_side();
$this->load->model('mysql_create','',true);
$data['dropdown_conclusion_diagnosis'] = $this->mysql_create->get_dropdown_conclusion($tech_num);
$data['dropdown_conclusion_duration'] = $this->mysql_create->get_dropdown_duration_diagnosis();
$data['dropdown_conclusion_severity'] = $this->mysql_create->get_dropdown_severity_diagnosis();
$this->load->view('auh/se_enkel_test', $data);
}
查看->
elseif ($struct_id == "3") {
foreach($query->result() as $rows):
if ($rows->NerveCode > 10000 ){
echo "<h3>N." . $rows->NerveName . ") (" . $side->SideText.")</h3>";
}
else {
echo "<h3>N." . $rows->NerveName . " (" . $rows->ProxName . " - ";
if ($rows->Code < 3000) {
echo "m.";
}
echo $rows->DistName . ") (" . $side->SideText.")</h3>";
}
endforeach;
$anatomic_code = $rows->NerveCode;
$ProxAccess = $rows->ProxAccess;
$DistAccess = $rows->DistAccess;
}
This is how the original page used to look.
从这两个屏幕截图中,您可以看到我页面上的问题是我没有得到“线段长度”值和肌肉名称: “腓骨神经(脚踝-指短肌伸肌)(罪过)”
具有“查询”功能的模型->
function query()
{
$exam = $this->uri->segment(3);
$type_id = $this->uri->segment(4);
$struct_id = $this->uri->segment(5);
$technique_id = $this->uri->segment(6);
$test_id = $this->uri->segment(7);
switch($type_id)
{
case 1:
$query_input = "SELECT EMUSCLE.*, NERVMUSCACCP.NAME AS MuscleName, NERVMUSCACCP.ShortName AS ShortMuscleName FROM EMUSCLE,NERVMUSCACCP WHERE Exam = ".$exam." AND Struct = ".$struct_id." AND EMUSCLE.MuscleCode = NERVMUSCACCP.Code;";
break;
case 2:
$query_input = "SELECT ENERVE.*, NERVMUSCACCP.NAME AS NerveName, NERVMUSCACCP.ShortName AS ShortNerveName FROM ENERVE,NERVMUSCACCP WHERE Exam = ".$exam." AND Struct = ".$struct_id." AND ENERVE.NerveCode = NERVMUSCACCP.Code;";
break;
case 3:
$query_input = "SELECT NewTable2.*, prox2.Code, prox2.Name AS DistName, prox2.ShortAccPName AS ShortDistName FROM (SELECT NewTable1.*, prox.Name AS ProxName, prox.ShortAccPName AS ShortProxName FROM (SELECT es.*, NERVMUSCACCP.NAME AS NerveName, NERVMUSCACCP.ShortName AS ShortNerveName FROM ESEGMENT es, NERVMUSCACCP WHERE Exam = ".$exam." AND Struct = ".$struct_id." AND es.NerveCode = NERVMUSCACCP.Code) AS NewTable1 LEFT OUTER JOIN PROXDISTINFO prox ON NewTable1.ProxAccess = prox.Code) AS NewTable2 LEFT OUTER JOIN PROXDISTINFO prox2 ON NewTable2.DistAccess = prox2.Code;";
break;
case 4:
$query_input = "SELECT NewTable1.*, NERVMUSCACCP.NAME AS MuscleName, NERVMUSCACCP.ShortName AS ShortMuscleName FROM (SELECT EJNCTION.*, NERVMUSCACCP.NAME AS NerveName, NERVMUSCACCP.ShortName AS ShortNerveName FROM EJNCTION LEFT OUTER JOIN NERVMUSCACCP ON EJNCTION.NerveCode = NERVMUSCACCP.Code WHERE EJNCTION.Exam = ".$exam." AND Struct = ".$struct_id.") AS NewTable1 LEFT OUTER JOIN NERVMUSCACCP ON NewTable1.MuscleCode = NERVMUSCACCP.Code";
break;
}
$query = $this->db->query($query_input);
return $query;
}
答案 0 :(得分:0)
似乎您实际上并没有将查询结果传递给视图:
$data['query'] = $this->view_single_test->query();
没有看到模型,很难做出有根据的猜测。分配给$ data ['query']的值应该是结果对象。
不是最干净的,但是尝试从模型返回$query->result();
并将其分配给控制器中的变量,然后将其传递给视图。