Skip to main content

poponsupopon's friends

Multiple input form

July 12, 2011 by poponsupopon

poponsupopon's picture

Misalnya ada kasus seperti ini :
Pertama disuruh memasukkan jumlah data yang akan di-insert ke database.
lalu muncul baris tabel sesusai jumlah data yg akan di-insert ke DB..
sampai sini saya masih bisa.

tapi masih gagal untuk proses memasukkan data ke database...
apakah ada yang tahu caranya.
thanks in advance..:DD

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

name untuk array

July 13, 2011 by ekopackerjozz, 16 hours 45 min ago
Comment: 8563

ekopackerjozz's picture

atribut name untuk array tidak usah menggunkan indeks seperti name="tgl[ echo $i ]", tp lgsg name="tgl[]" yg secara otomatis inputan tersebut dimasukkan ke dalam array..

untuk mengeluarkan data dalam array tersebut bisa digunakan:
foreach($_POST["tgl"] as $tgl){
echo $tgl.' ';
}

untuk menghitung isi array gunakan:
count($_POST["tgl"])

===========================================================
coba cek bagian di bawah ini pada controller:
$jumlah = $this->input->post('jumlah');
redirect('modulwr/add_process/'.$jumlah);
function add_process($jumlah=0)

kenapa $jumlah diset nilai 0?? ini memang sengaja buat tes atau mmg diset spt itu?

  <td><input

July 12, 2011 by poponsupopon, 23 hours 35 min ago
Comment: 8551

poponsupopon's picture

 
  <td><input name="tgl[<?php echo $i ?>]" value="<?php echo set_value('data[<?php echo $i ?>][tgl]', isset($default['tgl']) ? 	$default['tgl'] : ''); ?>"/></td>
	            <td><?php echo form_dropdown('site_name[<?php echo $i ?>]', $options_site_name, isset($default['site_name']) ? $default['site_name'] : ''); ?></td>
	            <td><input name="site_id[<?php echo $i ?>]" /></td>

itu cuplikan view saya paa sudah benar untuk nama pakai
 tgl[<?php echo $i ?>]
soalnya muncul dissalowed key characters terimakasih

dissalowed key characters

July 12, 2011 by ekopackerjozz, 21 hours 49 min ago
Comment: 8553

ekopackerjozz's picture

Saya sendiri sbenerny blm pernah dpt error yg spti itu, tp dari "http://www.snaver.net/2010/01/17/disallowed-key-characters-codeigniter-error/" error tersebut berhubungan dengan cookies..

boleh liat controller sama viewnya secara lengkap?

controller nya

July 12, 2011 by poponsupopon, 18 hours 19 min ago
Comment: 8562

poponsupopon's picture

<?php
/**
 * Modulwr Class
 *
 */
class Modulwr extends Controller {
	/**
	 * Constructor
	 */
	function Modulwr()
	{
		parent::Controller();
		$this->load->model('Modulwr_model', '', TRUE);
	}
 
 
	/**
	 * Inisialisasi variabel untuk $limit (untuk id element <body>)
	 */
	var $limit = 20;
 
	function index()
	{
		if ($this->session->userdata('login') == TRUE)
		{
			$this->get_menu();
		}
		else
		{
			redirect('login');
		}
	}
 
 
 
	function get_menu()
	{	
		if ($this->session->userdata('level') == 'admin')
		{
		$data['menu_view'] = 'wr/admin';
		}	
		else
		{
			if ($this->session->userdata('level') == 'user')
			{
			$data['menu_view'] = 'wr/user';
			}
			else
			{
				if ($this->session->userdata('username') == 'project')
				{
				$data['menu_view'] = 'wr/project';
				}
				else
				{
					if ($this->session->userdata('level') == 'viewer')
					{
					$data['menu_view'] = 'wr/viewer';
					}
					else
					{
					$data['menu_view'] = 'wr/other';
					}
				}
			}
		}
	}
 
	//menampilkan halaman input weekly report
	function inputwr()
	{	
	if ($this->session->userdata('login') == TRUE)
	{
		if ($this->session->userdata('level') == 'admin')
		{
		$data['menu_view'] = 'wr/admin';
		}	
		else
		{
			if ($this->session->userdata('level') == 'user')
			{
			$data['menu_view'] = 'wr/user';
			}
			else
			{
				if ($this->session->userdata('username') == 'project')
				{
				$data['menu_view'] = 'wr/project';
				}
				else
				{
					if ($this->session->userdata('level') == 'viewer')
					{
					$data['menu_view'] = 'wr/viewer';
					}
					else
					{
					$data['menu_view'] = 'wr/other';
					}
				}
			}
		}
		$data['calendar'] = 'calendar';
		$data['menuicon'] = 'wr/menuicon';
		$data['main'] = 'modulwr/inputwr';
		$data['form_action']	= '';
 
 
		// data site name untuk dropdown menu
		$site_name = $this->Modulwr_model->get_site_name()->result();
		foreach($site_name as $row)
		{
			$data['options_site_name'][$row->site_name] = $row->site_name;
		}		
 
		// Set validation rules
		$this->form_validation->set_rules('jumlah', 'Jumlah', 'required|max_length[3]');
 
		$jumlah = $this->input->post('jumlah');
 
		if ($this->form_validation->run() == TRUE)
		{
			redirect('modulwr/add_process/'.$jumlah);
		}
		else
		{		
			$this->load->view('templatemodulwr', $data);
		}
	}
	else
	{
		redirect('login');
	}
	}
 
	 /** Proses untuk entry weekly report baru
	 */
	function add_process($jumlah=0)
	{
		if ($this->session->userdata('login') == TRUE)
		{
		// Inisialisasi data umum
		if ($this->session->userdata('level') == 'admin')
		{
		$data['menu_view'] = 'wr/admin';
		}	
		else
		{
			if ($this->session->userdata('level') == 'user')
			{
			$data['menu_view'] = 'wr/user';
			}
			else
			{
				if ($this->session->userdata('username') == 'project')
				{
				$data['menu_view'] = 'wr/project';
				}
				else
				{
					if ($this->session->userdata('level') == 'viewer')
					{
					$data['menu_view'] = 'wr/viewer';
					}
					else
					{
					$data['menu_view'] = 'wr/other';
					}
				}
			}
		}
		$data['calendar'] = 'calendar';
		$data['menuicon'] = 'wr/menuicon';
		$data['main'] = 'modulwr/add_process';
		$data['jumlah'] = $jumlah;
		$data['form_action']	= site_url('modulwr/add_process');
 
		// Data untuk mengisi field2 form
		$data['default']['pic'] 	= $this->session->userdata('username');
		$data['default']['area'] 	= $this->session->userdata('bagian');
		$data['default']['tgl'] 	= date('d-m-Y');		
 
		// data site name untuk dropdown menu
		$site_name = $this->Modulwr_model->get_site_name()->result();
		foreach($site_name as $row)
		{
			$data['options_site_name'][$row->site_name] = $row->site_name;
		}
 
		// Set validation rules
		$this->form_validation->set_rules('tgl', 'Tgl', 'required');
		$this->form_validation->set_rules('site_name', 'Site name', 'required');
		$this->form_validation->set_rules('site_id', 'Site ID');
		$this->form_validation->set_rules('kegiatan', 'Kegiatan', 'required');
		$this->form_validation->set_rules('pic', 'Pic', 'required');
 
 
		if ($this->form_validation->run() == TRUE)
		{
			for($i=1;$i<=$jumlah;$i++);
			// Prepare data untuk disimpan di tabel
			$data = array('tgl' 		=> $this->input->post('tgl'),
					'site_name'		=> $this->input->post('site_name'),
					'site_id'	=> $this->input->post('site_id'),
					'kegiatan'		=> $this->input->post('kegiatan'),
					'pic'	=> $this->input->post('pic'),
					'area'		=> $this->session->userdata('bagian')
					);
			foreach ($data as $data_wr)
			{
			// Proses simpan data
			$this->db->insert('data_wr', $data);
			$this->session->set_flashdata('message', 'Satu data Weekly Report berhasil disimpan!');
			}
			redirect('modulwr/inputwr_success');
		}
		else
		{		
			$this->load->view('templatemodulwr', $data);
		}
	}
	else
	{
		redirect('login');
	}		
	}
 
 
 
	//Jika data weekly report berhasil diinputkan ke database
	function inputwr_success()
	{	
		if ($this->session->userdata('login') == TRUE)
		{
		if ($this->session->userdata('level') == 'admin')
		{
			$data['menu_view'] = 'wr/admin';
		}	
		else
		{
			if ($this->session->userdata('level') == 'user')
			{
				$data['menu_view'] = 'wr/user';
			}
			else
			{
				if ($this->session->userdata('username') == 'project')
				{
					$data['menu_view'] = 'wr/project';
				}
				else
				{
					if ($this->session->userdata('level') == 'viewer')
					{
						$data['menu_view'] = 'wr/viewer';
					}
					else
					{
						$data['menu_view'] = 'wr/other';
					}
				}
			}
		}
		$data['calendar'] = 'calendar';
		$data['menuicon'] = 'wr/menuicon';
		$data['main'] = 'modulwr/inputwr_success';
 
		$this->load->view('templatemodulwr', $data);
		}
		else
		{
		redirect('login');
		}
	}

view - add_process (untuk memasukkan data)

July 12, 2011 by poponsupopon, 18 hours 20 min ago
Comment: 8561

poponsupopon's picture

	<form action="" method="post" name="add_process">
		<table id='ver-zebra' border="0">
     		   <tr>
	            <td >No</td>
	            <td>Tanggal</td>
	            <td>Site name</td>
	            <td>Site ID</td>
	            <td>Uraian kegiatan</td>
	            <td>PIC</td>
	        </tr>
	        <?php for($i=1;$i<=$jumlah;$i++): ?>
	        <tr>
	            <td><?php echo $i ?></td>
	            <td><input type="text" name="tgl[]" value="<?php echo set_value('tgl', isset($default['tgl']) ? 	$default['tgl'] : ''); ?>"/></td>
	            <td><?php echo form_dropdown('site_name[]', $options_site_name, isset($default['site_name']) ? $default['site_name'] : ''); ?></td>
	            <td><input type="text" name="site_id[]" /></td>
		    <td><textarea name="kegiatan[]" cols="50" rows="5">PROBLEM :
ANALISA  :
ACTION   : </textarea></td>
		    <td><select name="pic[]">
				<option><?php echo set_value('pic[]', isset($default['pic']) ? $default['pic'] : ''); ?></option>
				<option value="galih" <?php echo set_select('pic[]', 'Galih'); ?> >Galih</option>
				<option value="andhy" <?php echo set_select('pic[]', 'Andhy'); ?> >Andhy</option>
				<option value="sugeng" <?php echo set_select('pic[]', 'Sugeng'); ?> >Sugeng</option>
				<option value="widodo" <?php echo set_select('pic[]', 'Widodo'); ?> >Widodo</option>
				<option value="deny" <?php echo set_select('pic[]', 'Deny'); ?> >Deny</option>
				<option value="other" <?php echo set_select('pic[]', 'Other'); ?> >Other</option>
			</select>
		   </td>
	           <input type="hidden" name="area[]" value="<?php echo set_value('area[]', isset($default['area']) ? 	$default['area'] : ''); ?>" />
	        </tr>
        	<?php endfor ?>
</table>
		<tr></tr>
		<tr></tr>
		<tr></tr>
		<td class=\"td2\" colspan=\"3\"> <input class='f1' type='submit' name='submit' value='Simpan'>
                               </form></td></form>
	</form>

menurut saya salah di "name" nya

view - inputwr (untuk input jumlah data yg akan dimasukkan)

July 12, 2011 by poponsupopon, 18 hours 23 min ago
Comment: 8560

poponsupopon's picture

	<form action="<?php echo $form_action; ?>" method="post" name="input_wr">
		<table id='ver-zebra' border="0">
			<tr><td>Masukkan jumlah data yang ingin diinput</td><td><input type="text" class="form_field" name="jumlah" size="3" /><span> data</span></td></tr>
                               <th class=\"th2\" colspan=\"3\"> <input class='f1' type='submit' name='submit' value='Proses'>
                               </form></th></table></form>
	</form>

iya dari situ terlihat error

July 12, 2011 by poponsupopon, 18 hours 24 min ago
Comment: 8559

poponsupopon's picture

iya dari situ terlihat error nya di name di view..

..

July 12, 2011 by poponsupopon, 23 hours 37 min ago
Comment: 8550

poponsupopon's picture

..

coba pake foreach

July 12, 2011 by ekopackerjozz, 1 day 13 hours ago
Comment: 8548

ekopackerjozz's picture

Yang kita butuh adalah memasukkan data satu-persatu dari baris tabel tersebut..
Maka pada fungsi di dalam controller, buat perulangan dengan menggunakan foreach yang di dalamnya terdapat pemanggilan fungsi untuk meng-insert data yang berbentuk array ke dalam database..

sederhananya spt ini:
foreach($jumlah_data){
//fungsi insert($array)
}

untuk nama variabel data yg

July 12, 2011 by poponsupopon, 23 hours 34 min ago
Comment: 8549

poponsupopon's picture

untuk nama variabel data yg dimasukkan bagaimana ya?
saya coba kok dissalowed key characters..

di view saya buat sprti ini (cuplikan bbrp baris)

 
  <td><input name="tgl[<?php echo $i ?>]" value="<?php echo set_value('data[<?php echo $i ?>][tgl]', isset($default['tgl']) ? 	$default['tgl'] : ''); ?>"/></td>
	            <td><?php echo form_dropdown('site_name[<?php echo $i ?>]', $options_site_name, isset($default['site_name']) ? $default['site_name'] : ''); ?></td>
	            <td><input name="site_id[<?php echo $i ?>]" /></td>

itu cuplikan view saya paa sudah benar untuk nama pakai
 tgl[<?php echo $i ?>]
soalnya muncul dissalowed key characters terimakasih

terimakasih sebelumnya

Premium Drupal Themes by Adaptivethemes