[eluser]Unknown[/eluser]
Hi!
I,m pretty new in php and i starting my adventure with coding in CodeIgniter, i have some small trouble. I don't know how to make pretty simple form where if i set the first select field the second will be limitted with corresponding in my database records are from the first field.
Example when i select: Wycieczka select biura will be limited with wycieczka.
Database diagram in:
http://wyslij.nazwa.pl/base.png
I appreciate any help, Thanks
Model
Code:
<?php
class Zamowienie_model extends CI_Model {
public function __construct()
{
//polaczenie z baza
$this->load->database();
}
// wybieranie wycieczek z bazy do pola select
public function get_wycieczki()
{
$query = $this->db->get('wycieczki');
return $query->result_array();
}
//wstawianie do bazy wartości
public function set_zamowienie()
{
$this->load->helper('url');
// wypełnianie z formularza
$data = array(
'Biura_idBiura' => $this->input->post('Biura_idBiura'),
'Wycieczki_idWycieczk' => $this->input->post('Wycieczki_idWycieczk'),
'k_imie' => $this->input->post('k_imie'),
'k_nazwisko' => $this->input->post('k_nazwisko'),
'ilosc_osob' => $this->input->post('ilosc_osob'),
'ilosc_dzieci' => $this->input->post('ilosc_dzieci'),
'k_email' => $this->input->post('k_email'),
'k_tel' => $this->input->post('k_tel'),
'k_comment' => $this->input->post('k_comment'),
'Daty_Wyc_idDaty_Wyc' => $this->input->post('Daty_Wyc_idDaty_Wyc'),
);
return $this->db->insert('zamowienia', $data);
}
// UWAGA KONIEC MODELU
}
View
Code:
?php echo validation_errors(); ?>
<?php echo form_open('zamowienie'); ?>
<div class="form_settings">
<h1>Wycieczka:</h1>
<select name="Wycieczki_idWycieczki">
<?php foreach ($wycieczki as $wycieczki_item): ?>
<option value="<?php echo $wycieczki_item['idWycieczki'] ?>" <?php echo set_select('Wycieczki_idWycieczki', $wycieczki_item['idWycieczki'] ); ?> ><?php echo $wycieczki_item['w_nazwa'] ?></option>
<?php endforeach ?>
</select>
<h1>Biuro:</h1>
czekamy na modul z biurami
<h1>Data:</h1>
<!-- <input type="text" name="data" value="" size="50" /> -->
modul dat <br><br>
<p><span>Imię</span><input type="text" name="k_imie" value="" size="50" /></p>
<p><span>Nazwisko</span><input type="text" name="k_nazwisko" value="" size="50" /></p>
<p><span>Ilość osób</span><input type="text" name="ilosc_osob" value="" size="50" /></p>
<p><span>Ilość dzieci</span><input type="text" name="ilosc_dzieci" value="" size="50" /></p>
<p><span>E-mail</span><input type="text" name="k_email" value="" size="50" /></p>
<p><span>Telefon</span><input type="text" name="k_tel" value="" size="50" /></p>
<p><span>Komentarz</span><textarea class="contact textarea" rows="8" cols="50" name="k_comment"></textarea></p>
<p>input class="submit" type="submit" value="Wyślij" />
<input class="submit" type="reset" value="Wyczyść" /></p>
</div>
</form>
Controler
Code:
<?php
class Zamowienie extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('zamowienie_model');
}
function index()
{
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->form_validation->set_rules('k_imie', 'Imię', 'required');
//$this->form_validation->set_rules('text', 'text', 'required');
if ($this->form_validation->run() == FALSE)
{
$data['wycieczki'] = $this->zamowienie_model->get_wycieczki();
$this->load->view('templates/header', $data);
$this->load->view('templates/sidebar', $data);
$this->load->view('zamowienie/index', $data);
$this->load->view('templates/footer', $data);
}
else
{
// wykonanie zapytania do bazy
//$this->zamowienie_model->set_zamowienie();
$this->load->view('templates/header');
$this->load->view('templates/sidebar');
$this->load->view('zamowienie/formsucces');
$this->load->view('templates/footer');
}
}
}
?>