i can retrieve database entries with
$this->set('view_applications', $this->Application->find('all'));
but i do not know how to display a message if the results of the above function is empty.
here is my controller code
public function index() {
$this->set('results', $this->Application->find('all'));
}
and here is my index.ctp view code
<h1>Requests for Graduation Registration</h1>
<table class="default-table full">
<thead>
<tr>
<th style= text-align:center>Last Name</th>
<th style= text-align:center>First Name</th>
<th style= text-align:center>Middle Name</th>
<th style= text-align:center>Computer Number</th>
<th style= text-align:center>Status</th>
<th style= "text-align:center; width: 40%;">Actions</th>
</tr>
</thead>
<tbody>
<?php $count=0; ?>
<?php foreach($view_applications as $applications):
?>
<?php $count ++;?>
<?php if($count % 2): echo '<tr>'; else: echo '<tr class="zebra">' ?>
<?php endif; ?>
<td style="text-align: center;"><?php echo $applications['Application']['last_name'];?> </td>
<td style="text-align: center;"><?php echo $applications ['Application']['first_name']; ?></td>
<td style="text-align: center;"><?php echo $applications ['Application']['middle_name']; ?></td>
<td style="text-align: center;"><?php echo $applications['Application']['student_id']; ?></td>
<td style="text-align: center;"><?php echo $applications['Application']['status']; ?></td>
<td>
<?php echo $this->Form->create('Student'); ?>
<?php echo $this->Form->button(
'View',
array(
'formaction' => Router::url(
array('controller' => 'Applications','action' => 'viewdown', $applications['Application']['id'])
)
)
); ?> |
<?php echo $this->Form->button(
'Download',
array(
'formaction' => Router::url(
array('controller' => 'Applications','action' => 'viewdown', $applications['Application']['id'], true)
)
)
); ?> |
<?php echo $this->Form->button(
'Approve',
array(
'formaction' => Router::url(
array('controller' => 'Applications','action' => 'approve', $applications['Application']['id'])
)
)
); ?> |
<?php echo $this->Form->button(
'Disapprove',
array(
'formaction' => Router::url(
array('controller' => 'Applications','action' => 'disapprove', $applications['Application']['id'])
)
)
); ?>
}
</td>
</tr>
<?php endforeach; ?>
<?php unset($applications); ?>
</tbody>
</table>
</div>
</body>
</html>
Where should i place the condition for checking?
You used
$this->set('results', $this->Application->find('all'));
in your controller, and in your view you are looping with a different variable."
results
" should be your variable inforeach
as set in your controller.That's just by the way. To answer your question, you should use
count
.