无法在数据库PHP,Codeigniter

时间:2017-01-20 03:52:17

标签: php html mysql database codeigniter

这是我第一次使用CodeIgniter和php,所以我很丢失,我想做的是显示一个包含数据库中所有元素的表,然后通过输入和提交按钮搜索现有产品 但每当我提交查询时,都不会显示任何内容。

这是我的控制器。

<?php
class HomeController extends CI_Controller{

  function index(){

      $this->load->model('HomeModel');
      $data ['info'] = $this->HomeModel->getData();
     // $config = array();




     $this->load->view('HomeView',$data);
  }

  public function search_product(){

      $this->load->model('HomeModel');
       $nombre_producto = $this->input->post('search');

       if (isset($nombre_producto) and !empty($nombre_producto)) {
           $data ['db_simbo'] = $this->HomeModel->search_product($nombre_producto);
           $this->load->view('HomeView',$data );


       }

       else{
           redirect($this->index());

       }
  }
  }

这是我的模特

<?php

class HomeModel extends CI_Model{


    public function getData(){

        $query = $this->db->get('db_simbo');

        return $query->result();

    }
    public function search_product($nombre_producto){

        $this->db->select('*');
        $this->db->from('db_simbo');
        $this->db->like('nombre_producto',$nombre_producto);
        $query = $this->db->get();
        if ($query->num_rows() > 0) {

            return $query->result();

        }

        else{

            return $query->result();

        }
    }

}

这是我家庭观点的一部分,我认为这会导致麻烦

           

        <input name="user id" value="<?php echo $inf->id;?>"/>


       <?php }?>
    </td>
    <td>  <?php foreach($info as $inf){?>


    <input name="nombre_producto" value="<?php echo $inf->nombre_producto;?>"/>


       <?php }?>
    </td>
    <td>  <?php foreach($info as $inf){?>


    <input name="proveedor" value="<?php echo $inf->nombre_proveedor;?>"/>


       <?php }?>
    </td>
    <td>  <?php foreach($info as $inf){?>


    <input name="descripción" value="<?php echo $inf->descripción;?>"/>


       <?php }?>
    </td>
    <td>  <?php foreach($info as $inf){?>


    <input name="precio" value="<?php echo $inf->precio;?>"/>


    <?php } }?> 
    </td>
    </tbody>


</table>



    <div>
        <input type = "text" name="search" id="search" placeholder="id"/>

        <button type = "submit"  name="submit">Buscar</button>>[enter 

这是我添加表格的地方

 <form action="<?php echo base_url().'HomeController/search_product'; ?>" method="post">

image description here

我已经完成了关于自动加载模型的所有事情,或者我相信,我希望你们可以帮助我。

2 个答案:

答案 0 :(得分:0)

尝试一次..

您有formgot要添加form taginput type

function index() {
    $this->load->model('HomeModel');
    $data ['info'] = $this->HomeModel->getData();
    // $config = array();
    $this->load->view('HomeView', $data);
    }
    public function search_product() {
        $this->load->model('HomeModel');
        $nombre_producto = $this->input->post('search');

        if (isset($nombre_producto) and ! empty($nombre_producto)) {
            $data ['db_simbo'] = $this->HomeModel->search_product($nombre_producto);
            $this->load->view('HomeView', $data);
        } else {
            redirect($this->index());
        }
    }
}

这是我的模特

class HomeModel extends CI_Model {
    public function getData() {
        $query = $this->db->get('db_simbo');
        return $query->result();
    }
    public function search_product($nombre_producto) {
        $this->db->select('*');
        $this->db->from('db_simbo');
        $this->db->like('nombre_producto', $nombre_producto);
        $query = $this->db->get();
        if ($query->num_rows() > 0) {
            return $query->result();
        } else {

            return $query->result();
        }
    }
}


<form method="POST">
    <td>  
        <?php foreach($info as $inf){ ?>
        <input name="proveedor" value="<?php echo $inf->nombre_proveedor; ?>"/>
        <?php } ?>
    </td>
    <td>  
        <?php foreach($info as $inf){ ?>
        <input name="descripción" value="<?php echo $inf->descripción; ?>"/>
        <?php } ?>
    </td>
    <td>  
        <?php foreach($info as $inf){ ?>
        <input name="precio" value="<?php echo $inf->precio; ?>"/>
        <?php } } ?> 
    </td>
</tbody>
</table>
<div>
    <input type = "text" name="search" id="search" placeholder="id"/>
    <input type = "submit"  name="submit" value="Buscar">[enter image description here][1]
</div>
</form>

答案 1 :(得分:0)

试试这个:

控制器

class HomeController extends CI_Controller{
  function index(){

      $this->load->model('HomeModel');
     // $config = array();
     if($this->input->post() != ''){
          $nombre_producto = $this->input->post('search');

          if (isset($nombre_producto) and !empty($nombre_producto)) {
            $data ['info'] = $this->HomeModel->search_product($nombre_producto);
           }
      }
      else{
          $data ['info'] = $this->HomeModel->getData();
      }


     $this->load->view('HomeView',$data);
     }
}

在您的视图中,尝试将表单操作网址更改为:

<form action="<?php echo base_url().'HomeController/index'; ?>" method="post">

在你的表格中尝试以下代码:

 <?php foreach($info as $inf){?>
 <tr>
    <td>
         <input name="user id" value="<?php echo $inf->id;?>"/>
    </td>
    <td>
        <input name="nombre_producto" value="<?php echo $inf->nombre_producto;?>"/>
    </td>
    <td>
        <input name="proveedor" value="<?php echo $inf->nombre_proveedor;?>"/>
    </td>
    <td>
        <input name="descripción" value="<?php echo $inf->descripción;?>"/>
    </td>
    <td>
        <input name="precio" value="<?php echo $inf->precio;?>"/>
    </td>
</tr>
<?php }?>