Codeigniter - MySQL запрос с переменной - PullRequest
0 голосов
/ 12 ноября 2018

Мне нужна помощь для запроса в моей модели, я хочу найти поле с переменной, которую я ввожу в контроллер, и на данный момент проблема в том, что поле не будет читать мою переменную, поэтому вот код

Контроллер

public function tampil_soal(){
        $kode_soal = $this->input->post('kode_soal');
        $where = array('kode_soal' => $kode_soal);
        $data['tampilan']= $this->m_model->tampil_soal($kode_soal)->result();
        $this->load->view('soal_tampil',$data);
    }

Модель

public function tampil_soal($where){
        return $this->db->query("select * from soal where kode_soal='$where' ORDER BY RAND()");
    }

View

<form action="<?php echo base_url()?>siswa/tampil_soal" method="post" class="form">
    <input class="input" name="kode_ujian" placeholder="Kode ujian"/>
  <input class="button" type="submit" name="submit" value="Selesai"/>
</form>

Ответы [ 6 ]

0 голосов
/ 12 ноября 2018

изменить это

public function tampil_soal($where){
        return $this->db->query("select * from soal where kode_soal='$where' ORDER BY RAND()");
    }

к этому

public function tampil_soal($kode_soal){
        return $this->db->query("select * from soal where kode_soal='$kode_soal' ORDER BY RAND()");
    }

надеюсь, это поможет

0 голосов
/ 12 ноября 2018

Модель

public function tampil_soal($where){
    $condition = $where;
    // Your Condition...
    $this->db->where($condition);
    // Order By ...
    $this->db->order_by('RAND()');
    // Return Data from Table ...
    return $this->db->get('soal');    
}
0 голосов
/ 12 ноября 2018

View

<form action="<?php echo base_url()?>siswa/tampil_soal" method="post" class="form">
    <input class="input" name="kode_ujian" placeholder="Kode ujian"/>
  <input class="button" type="submit" name="submit" value="Selesai"/>
</form>

Контроллер

вы используете неправильное имя записи "$ this-> input-> post ('kode_soal')", измените его на $ this-> input-> post ('kode_ujian') тогда

public function tampil_soal(){
        $kode_soal = $this->input->post('kode_ujian');
        $where = array('kode_soal' => $kode_soal);
        $data['tampilan']= $this->m_model->tampil_soal($kode_soal);
        $this->load->view('test',$data);
    }

Модель

public function tampil_soal($where){
    $qry = $this->db->query("select * from soal where kode_soal='$where' ORDER BY RAND()");
        if($qry->num_rows()>0){
            return $qry->result();
        }else{
            return array();
        }
    }
0 голосов
/ 12 ноября 2018

просто попробуйте это:

//controller
public function tampil_soal(){
    $kode_soal = $this->input->post('kode_ujian');
    $data['tampilan']= $this->m_model->tampil_soal($kode_soal);
    $this->load->view('soal_tampil',$data);
}


// model
public function tampil_soal($where){
    $this->db->where('kode_soal',$where);
    return $this->db->get('soal')->result();
    // use the return $this->db->get('soal')->row();
    // if your query return one record
}
0 голосов
/ 12 ноября 2018

попробуйте этот запрос: // контроллер

public function tampil_soal(){
        $data['tampilan']= $this->m_model->tampil_soal($this->input->post('kode_soal');
        $this->load->view('soal_tampil',$data);
    }

// модель

public function tampil_soal($where){
      return $this->db->where('kode_soal',$where)->get('soal')->result();
    }
0 голосов
/ 12 ноября 2018

Я думаю, что вы должны использовать функцию result () с запросом

public function tampil_soal($where){
        return $this->db->query("select * from soal where kode_soal='$where' ORDER BY RAND()")->result();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...