Insert record di moodle

Insert record di moodle

oleh Vivi Oktaviani -
Jumlah balasan: 9

Salam kenal..

Mau tanya nih seputar moodle.. gimana coding buat insert record di moodle?

ini coding yg aku punya


class simplehtml_form extends moodleform {

    public function definition() {

        global $CFG;

global $DB;

        $mform = $this->_form; // Don't forget the underscore! 

$rec=$DB->get_records_sql('SELECT * FROM kategori');

foreach($rec as $record)

    {  

          $list[$record->idkategori] = $record->idkategori;

 $list2[$record->idkategori] = $record->namakategori;

        }

$kdbuku = $mform->addElement('text', 'kdbuku', 'Kode Buku');

$judul = $mform->addElement('text', 'judul', 'Judul');

$pengarang = $mform->addElement('text', 'pengarang', 'Pengarang');

$penerbit = $mform->addElement('text', 'penerbit', 'Penerbit');

$idkategori = $mform->addElement('select', 'idkategori', 'Kategori', $list);

$kategori = $mform->addElement('select', 'idkategori', 'Kategori', $list2);

$jumlah = $mform->addElement('text', 'jumlah', 'Jumlah');

        $this->add_action_buttons();

    }

    //Custom validation should be added here

    function validation($data, $files) {

        return array();

    }

}


//Instantiate simplehtml_form 

$mform = new simplehtml_form();

//Form processing and displaying is done here

if ($mform->is_cancelled()) {

    //Handle form cancel operation, if cancel button is present on form

$returnurl="$CFG->wwwroot/course/inputbuku.php"; 

redirect($returnurl);

} else if ($fromform = $mform->get_data()) {

  //In this case you process validated data. $mform->get_data() returns data posted in form.

  //$sql='insert into buku values';

  $table = 'mdl_buku';

  $dataobject = new StdClass;

  $dataobject->kdbuku = $kdbuku;

  $dataobject->judul = $judul;

  $dataobject->pengarang = $pengarang;

  $dataobject->penerbit = $penerbit;

  $dataobject->idkategori = $idkategori;

  $dataobject->jumlah = $jumlah;

  $rec=$DB->insert_record($table, $dataobject);

  

} else {

  // this branch is executed if the form is submitted but the data doesn't validate and the form should be redisplayed

  // or on the first display of the form.


  //Set default data (if any)

  $mform->set_data($toform);

  //displays the form

  //$mform->display();

}


setelah di submit :

Table "mdl_buku" does not exist


Mohon bantuannya dari senior semua

Rata-rata penilaian: -
Sebagai balasan Vivi Oktaviani

Re: Insert record di moodle

oleh Luwice M -

Kalo ga salah ga usah pake "mdl_" deh mba Vivi.


Jadinya begini :   $table = 'buku';

Sebagai balasan Luwice M

Re: Insert record di moodle

oleh Vivi Oktaviani -

Waktu dicoba tanpa pake "mdl_" malah error :

error

kira2 salahnya dmana? apa sewaktu membuat table juga berpengaruh? 

Sebagai balasan Vivi Oktaviani

Re: Insert record di moodle

oleh Luwice M -

Coba aja nyalain debug messagenya mba, nanti kelihatan errornya dimana.

Debugging messages can be enabled by an administrator in Settings > Site administration > Development > Debugging.

  • Debug messages to ALL, and
  • Display debug messages to Yes.

Sebagai balasan Luwice M

Re: Insert record di moodle

oleh Vivi Oktaviani -
makasih mas saya udh bisa insert record. tapi kalo dari textbox masih belum bisa. gimana codingnya ya supaya bisa insert dari textboxnya?

Saya coba pake coding ini

 $kategori =& $mform->getValue('kategori');

tapi malah error.error

Sebagai balasan Vivi Oktaviani

Re: Insert record di moodle

oleh Luwice M -

Saya kurang tahu kalo pakai getValue mba, kalo error seperti itu berarti seperti tidak terdefinisi fungsingya.


Coba pakai $mform->get_data()

Sebagai balasan Luwice M

Re: Insert record di moodle

oleh Vivi Oktaviani -

Saya udh coba tapi ga bisa

error

ini form yg saya buat

class inputbuku extends moodleform {

    public function definition() {

        global $CFG, $DB;

        $mform = $this->_form;

$rec=$DB->get_records_sql('SELECT * FROM mdl_kategori');

foreach($rec as $record)

    {  

          $list[$record->id] = $record->namakategori;

        }

$kdbuku = $mform->addElement('text', 'kdbuku', 'Kode Buku');

$judul = $mform->addElement('text', 'judul', 'Judul');

$pengarang = $mform->addElement('text', 'pengarang', 'Pengarang');

$penerbit = $mform->addElement('text', 'penerbit', 'Penerbit');

$kategori = $mform->addElement('select', 'kategori', 'Kategori', $list);

$jumlah = $mform->addElement('text', 'jumlah', 'Jumlah');

$mform->setType('kdbuku', PARAM_NOTAGS);

$mform->setType('judul', PARAM_NOTAGS);

$mform->setType('pengarang', PARAM_NOTAGS);

$mform->setType('penerbit', PARAM_NOTAGS);

$mform->setType('jumlah', PARAM_INT);

        $this->add_action_buttons();

    }

    function validation($data, $files) {

        return array();

    }

}


$mform = new inputbuku();

if ($mform->is_cancelled()) {

$returnurl="$CFG->wwwroot/course/inputbuku.php"; 

redirect($returnurl);

} else if ($fromform = $mform->get_data()) {

  $table = 'buku';

  $dataobject = new stdClass;

  $dataobject->kdbuku = $kdbuku;

  $dataobject->judul = $judul;

  $dataobject->pengarang = $pengarang;

  $dataobject->penerbit = $penerbit;

  $dataobject->namakategori = $kategori;

  $dataobject->jumlah = $jumlah;

  $rec=$DB->insert_record($table, $dataobject);

} else {


}


gimana cara manggil textboxnya? apa ada yg kurang dari coding di atas?

Sebagai balasan Vivi Oktaviani

Re: Insert record di moodle

oleh Luwice M -

coba begini mba


$dataobject->kdbuku = $fromform->kdbuku;

Sebagai balasan Luwice M

Re: Insert record di moodle

oleh Isnan Wahyudi -
Saya ingin belajar coding Moodle
Sebagai balasan Isnan Wahyudi

Re: Insert record di moodle

oleh guntur hakim -

sama saya juga sedang belajar ini bagaiamana menguasi moodle, apalagi bikin module untuk merekam, bagus untuk pembelajaran saat ini yg semuanya online