codeigniter中的搜索框提供空白数据

Posted

技术标签:

【中文标题】codeigniter中的搜索框提供空白数据【英文标题】:searchbox in codeigniter giving blank data 【发布时间】:2021-11-01 19:07:18 【问题描述】:

我在codeigniter中有一个简单的搜索框,控制器如下:

function searchtrack() 
    $this->load->model('excel_import_model');
    if(isset($_POST['submittrack'])) 
        $awb=$this->input->post('awb');
        $data['slt']= $this->excel_import_model->searchtrack($awb);
        $this->load->view("searchtrack",$data);
    


模型如下:

public function searchtrack($awbno) 
    $this->db->select('*');
    $this->db->where("awb", $awbno);
    $this->db->from('consignments');
    $query = $this->db->get();
    $result = $query->result();
    return $result;

最后是显示视图:

<?php
  foreach($slt as $val) echo $val->id; 
?>

但是这没有给我任何值,帖子输入被传递给控制器​​和数据库列,一切都很好,谁能告诉我这里有什么问题提前谢谢

【问题讨论】:

很高兴看到新用户开始学习社区指南。你的问题表述得很完美。查看您的代码,它确实应该返回正确的数据。但是,请尝试再次检查所有变量名称。此外,您将数据推送到名为 $data 的变量中,该变量是一个数组,但尚未声明。尝试在您的视图中使用 var_dump($slt) 并查看返回的内容。之后,尝试 log_message('error', $result->countAllResults()) 在你的模型中查看查询是否返回任何结果。 我的错,我现在看到您正在使用 $this->db 查询样式。在这种情况下,请尝试使用 log_message('error', $this->db->count_all_results() ) 来获取更多信息。 【参考方案1】:

在您的模型中,将“where”替换为“like”。 “Where”查找特定数据,“like”查找相似数据。

public function searchtrack($awbno) 
    $this->db->select('*');
    $this->db->like("awb", $awbno, 'both');
    $this->db->from('consignments');
    $query = $this->db->get();
    $result = $query->result();
    return $result;

为了控制通配符 (%) 在“like”方法中的位置,使用了第三个参数。

$this->db->like('awb', $awbno, 'before');    // Produces: WHERE `title` LIKE '%match' ESCAPE '!'
$this->db->like('awb', $awbno, 'after');     // Produces: WHERE `title` LIKE 'match%' ESCAPE '!'
$this->db->like('awb', $awbno, 'none');      // Produces: WHERE `title` LIKE 'match' ESCAPE '!'
$this->db->like('awb', $awbno, 'both');      // Produces: WHERE `title` LIKE '%match%' ESCAPE '!'

【讨论】:

也许你可以添加一些关于第三个参数的解释?顺便说一句,答案很好。

以上是关于codeigniter中的搜索框提供空白数据的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 php codeigniter 中的 DataTables 分页和搜索框?

php codeigniter 邮编搜索!

如何在codeigniter中搜索后保留选定的框选项

Codeigniter 显示空白页而不是错误消息

CodeIgniter + Smarty - 是不是相关?

MS Access Openform - 所需的空白字段值