Php CodeIgniter,在html中显示来自sql搜索的数据
我刚开始使用CodeIgniter,无法在视图中显示数据。 据我(非常有限)的理解,应该在视图中显示表的第一、第二和第三列,但它返回未定义的变量:first。 任何帮助都将不胜感激 我的模型:Php CodeIgniter,在html中显示来自sql搜索的数据,php,sql,codeigniter,Php,Sql,Codeigniter,我刚开始使用CodeIgniter,无法在视图中显示数据。 据我(非常有限)的理解,应该在视图中显示表的第一、第二和第三列,但它返回未定义的变量:first。 任何帮助都将不胜感激 我的模型: <?php class Model_model extends CI_model{ public function __construct() { parent::__construct(); $this->load->database();
<?php class Model_model extends CI_model{
public function __construct() {
parent::__construct();
$this->load->database();
}
public function getData($string){
$sql = "SELECT first,second,third FROM Table WHERE first LIKE '%?%';";
$query = $this->db->query($sql,$string);
if ($query->num_rows() > 0) {
return $query;
}
我的看法是:
...
// <table>
<tr><td>Poster:</td><td><?php echo $first; ?></td></tr>
<tr><td>Message:</td><td><?php echo $second; ?></td></tr>
<tr><td>Time posted:</td><td><?php echo $thrid; ?></td></tr>
// </table>
...
。。。
//
海报:
信息:
张贴时间:
//
...
您需要更改以下内容:
public function view($string) {
$this->load->model('Model_model');
$result = $this->Model_model-> getData($string);
echo $result->num_rows(); //returns correct number.
$this->load->view('view_display', $result);
}
为此:
public function view($string) {
$this->load->model('Model_model');
$result = $this->Model_model-> getData($string);
$data["myModel"] = $result;
$this->load->view('view_display', $data);
}
然后在视图中
:
<tr><td>Poster:</td><td><?php echo $myModel->first; ?></td></tr>
<tr><td>Message:</td><td><?php echo $myModel->second; ?></td></tr>
<tr><td>Time posted:</td><td><?php echo $myModel->third; ?></td></tr>
我很高兴帮助@NeilSimmons很抱歉打扰你,但是你知道如何让它工作吗$sql=“选择用户\用户名,文本,从文本为“%”?%;“的邮件中发布”//新行$query=$this->db->query($sql,$string);我想将$string传递给?它应该是一个占位符,而不是搜索?@NeilSimmons使用这个$query=$this->db->select(user\u username,text,posted\u at)->like('text',$string);最好使用codeigniter内置函数“$this->db->like();”我的答案对您有帮助吗?如果有,请不要忘记将其标记为正确;)
<tr><td>Poster:</td><td><?php echo $myModel->first; ?></td></tr>
<tr><td>Message:</td><td><?php echo $myModel->second; ?></td></tr>
<tr><td>Time posted:</td><td><?php echo $myModel->third; ?></td></tr>
public function getData($string){
$this->db->select("first,second,third");
$this->db->from("Table");
$this->db->like("first", $string);
$query = $this->db->get();
if ($query->num_rows() > 0) {
return $query;
}
}
public function search(){ // Controller
$keyword = $this->input->get('keyword'); // You can use "post" as well. keyword is the input field name.
$data['results'] = $this->your_model->function($keyword);
$this->load->view('your_view', $data); }
public function search($keyword){ // Model
$this->db->like('keyword', $keyword);
$query = $this->db->get('table_name');
return $query->result();
}