Welcome Guest, Not a member yet? Register   Sign In
Partial Views?
#1

Hi is it possible to have an index list with a form submission created from partials?

For example I want to have a waitlist table shown with data populated from database, but there is also a modal with a form inside it to submit a new entry to the waitlist

Controller:
PHP Code:
   public function index()
 
   {
 
       $data['title'] = 'Home';

 
       $data['reservations'] = $this->Reservation_Model->get_reservation();

 
       $this->load->template('reservation/index'$data);
 
   }

 
   public function create2()
 
   {
 
       $this->load->helper('form');
 
       $this->load->library('form_validation');

 
       $data['title'] = 'Create a reservation';

 
       $this->form_validation->set_rules('name''Party Name''trim|required');
 
       $this->form_validation->set_rules('datetime''Date & Time''required');
 
       $this->form_validation->set_rules('partysize''Party Size''required');
 
       $this->form_validation->set_rules('phonenumber''Phone Number''required|exact_length[10]');

 
       if ($this->form_validation->run() === FALSE)
 
       {
 
           $this->load->view('reservation/create2'$datatrue);
 
       }
 
       else
        
{
 
           $this->Reservation_Model->create_reservation();
 
           redirect('reservation');
 
       }
 
   

Index
PHP Code:
<?php $this->load->view('reservation/create2'); ?>
<table class="shadow">
    <thead>
        <tr class="white">
            <th class="bg-blue">Reservation Time</th>
            <th class="bg-blue">Party Name</th>
            <th class="bg-blue">Party Size</th>
            <th class="bg-blue">Phone Number</th>
            <th class="bg-blue">Date Created</th>
        </tr>
    </thead>
    <?php foreach ($reservations as $reservation_item): ?>
        <tr>
            <td><?php echo $reservation_item['Datetime'?></td>
            <td><?php echo $reservation_item['Name'?></td>
            <td><?php echo $reservation_item['PartySize'?></td>
            <td><?php echo preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/""($1) $2-$3"$reservation_item['PhoneNumber']) ?></td>
            <td><?php echo $reservation_item['DateCreated'?></td>
        </tr>
    <?php endforeach ?>
</table> 

Modal
PHP Code:
<? echo modal('modal-1', '
<div class="form-container shadow">

    <h2>Create a reservation<small>Inputs</small></h2>
    '.validation_errors().'
    
    '.form_open('reservation/create2').'

    '.group('Party Name', 'name', 'text', true).'

    '.group('Date & Time', 'datetime', 'datetime-local', true).'

    '.group('Party Size', 'partysize', 'number', true).'

    '.group('Phone Number', 'phonenumber', 'text', true).'

    <button type="submit" class="btn btn-raised btn-default pull-right">Create Reservation</button>
    </form>
</div>') ?>

<button class="md-trigger" data-modal="modal-1">Popup Reservation Form</button> 

Currently I get error with validation_error and form_open not found. Anyway to make this work?
Reply
#2

It will probably work if you load the form helper and form_validation library in the controller's constructor instead of loading them inside the create2 method. Since you don't call the create2 method until you submit the form in your modal, the helper and library aren't loaded and the functions aren't available.
Reply




Theme © iAndrew 2016 - Forum software by © MyBB