I am passing the data from the controller to view with the variable value but in my view, I have two forms and I want to display the form according to the variable data I have. I tried using if(isset$_GET[])
method but it doesn't work. Below is my code. Please rectify me where I am doing the mistake.
public function epacat($pa_cat_id)
{
$this->top();
$data['pa_cat'] = $this->adata->parentCategories();
//BELOW I AM PASSING DATA
$data['epa_cat'] = $this->adata->epacatQ($pa_cat_id);
$this->load->view('am/parent-categories/parent_categories',$data);
$this->bottom();
}
<div class="row">
//WANT TO DISPLAY IF I GOT VARIABLE
<?php if(isset(['epacat'])):?>
<div class="col-md-12">
<?php echo form_open('admin/apacat');?>
<label><h4>Update Parent Category</h4></label>
<?php echo form_input(['name'=>'pa_cat_name','class'=>'form-control','placeholder'=>'Enter your parent category','value'=>set_value('pa_cat_name',$pc->pa_cat_name)]);?>
<button type="reset" class="btn btn-warning">Reset</button> <button type="submit" class="btn btn-primary">Submit</button>
<?php form_close();?>
</div>
//WANT TO DISPLAY IF I NOT GOT VARIABLE
<?php else:?>
<div class="col-md-12">
<?php echo form_open('admin/apacat');?>
<label><h4>Add Parent Category</h4></label>
<?php echo form_input(['name'=>'pa_cat_name','class'=>'form-control','placeholder'=>'Enter your parent category','value'=>set_value('pa_cat_name')]);?>
<button type="reset" class="btn btn-warning">Reset</button> <button type="submit" class="btn btn-primary">Submit</button>
<?php form_close();?>
</div>
<?php endif;?>
</div>
You're doing it correctly in the controller
$data['epa_cat'] = $this->adata->epacatQ($pa_cat_id);
$this->load->view('am/parent-categories/parent_categories',$data);
In the view, $data['epa_cat']
becomes $epa_cat
.
So for example, if $epa_cat
is a string you'd do
<p><?php echo $epa_cat; ?></p>
Or if $epa_cat
is a boolean, you could check it like so
if ($epa_cat) {
// Do stuff
}
You can write like this
public function epacat($pa_cat_id)
{
$this->top();
$data['pa_cat'] = $this->adata->parentCategories();
//BELOW I AM PASSING DATA
$data['epa_cat'] = $this->adata->epacatQ($pa_cat_id);
$this->load->view('am/parent-categories/parent_categories',$data);
$this->bottom();
}
<div class="row">
//WANT TO DISPLAY IF I GOT VARIABLE
<?php if($epacat):?>
<div class="col-md-12">
<?php echo form_open('admin/apacat');?>
<label><h4>Update Parent Category</h4></label>
<?php echo form_input(['name'=>'pa_cat_name','class'=>'form-control','placeholder'=>'Enter your parent category','value'=>set_value('pa_cat_name',$pa_cat->pa_cat_name)]);?>
<button type="reset" class="btn btn-warning">Reset</button> <button type="submit" class="btn btn-primary">Submit</button>
<?php form_close();?>
</div>
//WANT TO DISPLAY IF I NOT GOT VARIABLE
<?php else:?>
<div class="col-md-12">
<?php echo form_open('admin/apacat');?>
<label><h4>Add Parent Category</h4></label>
<?php echo form_input(['name'=>'pa_cat_name','class'=>'form-control','placeholder'=>'Enter your parent category','value'=>set_value('pa_cat_name')]);?>
<button type="reset" class="btn btn-warning">Reset</button> <button type="submit" class="btn btn-primary">Submit</button>
<?php form_close();?>
</div>
<?php endif;?>
</div>
Just for fun ( and not tested )
Use the one block of HTML and derive the bits that are different depending upon $epa_cat
<?php
if($epa_cat){
$label = 'Update';
$value = set_value('pa_cat_name', $pc->pa_cat_name);
} else {
$label = 'Add';
$value = set_value('pa_cat_name');
}
?>
<div class="row">
<div class="col-md-12">
<?= form_open('admin/apacat'); ?>
<label><h4><?=$label;?> Parent Category</h4></label>
<?= form_input(['name' => 'pa_cat_name', 'class' => 'form-control', 'placeholder' => 'Enter your parent category', 'value' => $value]); ?>
<button type="reset" class="btn btn-warning">Reset</button>
<button type="submit" class="btn btn-primary">Submit</button>
<?php form_close(); ?>
</div>
</div>
Still not sure where $pc->pa_cat_name
comes from, but with what was provided, this would be a first attempt.
I also changed <?php echo
to <?=
as a demonstration that can be used.