it-swarm-id.com

Bagaimana cara menyimpan nilai kotak centang di tabel?

Bagaimana saya bisa memasukkan data dari bentuk html ke tabel di database Joomla.
Contoh kode formulir:
Name : <input type="textbox" name="username"> Selection1 : <input type="checkbox" name="choice1" value="first"> Selection2 :<input type="checkbox" name="choice2" value="second"> Selection3: <input type="checkbox" name="choice3" value="third"> <input type="submit" value="submit" action="save_to_joomla_database.php"></form>

Apa skrip yang perlu saya tulis save_to_joomla_database.php mana yang akan menyimpan data dalam tabel spesifik apa pun dari basis data Joomla?

2
saibbyweb

Pertama-tama Anda harus mendapatkan nilai menggunakan JInput seperti itu,

$input = JFactory::getApplication()->input;
$username = $input->get('username');
$choice1 = $input->get('choice1');
$choice2 = $input->get('choice2');
$choice3 = $input->get('choice3');

lalu untuk permintaan basis data Anda, Anda dapat menggunakan yang berikut:

$db = JFactory::getDbo(); 
$query = $db->getQuery(true);

$columns = array('username', 'choice1', 'choice2', 'choice2');
$values = array($db->quote($username), $db->quote($choice1), $db->quote($choice2), $db->quote($choice3));

$query->insert($db->quoteName('#__table_name'))
      ->columns($db->quoteName($columns))
      ->values(implode(',', $values));

$db->setQuery($query);
$db->execute();

Anda tentu saja perlu membuat beberapa perubahan pada permintaan basis data agar sesuai dengan kebutuhan Anda, tetapi ini akan membantu Anda memulai

5
Lodder

@Lodder sudah pasti benar, tetapi ada sintaks lain untuk mereka yang tertarik. Saya lebih suka sintaksis ini karena menghemat mengetikkan nama field beberapa kali

$data = new stdClass;
$input = JFactory::getApplication()->input;
$data->username = $input->get('username');
$data->choice1 = $input->get('choice1');
$data->choice2 = $input->get('choice2');
$data->choice3 = $input->get('choice3');

$db = JFactory::getDbo(); 
$db->insertObject('#__table_name', $data);

Selama properti objek Anda sama persis dengan nama kolom, Anda bisa langsung memasukkan objek ke tabel menggunakan insertObject

5
David Fritsch