Codeigniter: Retrieving data on button click with Ajax
- by OllyTenerife
I have a simple webpage which generates a random quote from my database upon refreshing the page. I wish to implement some AJAX and JQuery in order to generate quotes via the button rather than having to refresh the page. I have done some research but I am not sure how to implement this in Codeigniter. My current code is below...
Page controller:
public function index() {
    $this->load->model('quote_model', '', TRUE);
    $data['quotes'] = $this->quote_model->getRandom();
    $this->load->view('home', $data);
}
The view:
<?php include ('layout/header.php'); ?>
<div class="container-fluid">
<div class="row">
    <div class="col-md-4 quote-holder">
        <img src="application/assets/alan1.jpg" alt="..." class="img-circle img-responsive">
        <br>
        <blockquote class="text-center">
            <p><?php echo $quotes[0]['quote']; ?></p>
            <footer class="text-center"><?php echo $quotes[0]['character_name']; ?> in <cite title="Source Title"><?php echo $quotes[0]['series_name']; ?></cite></footer>
        </blockquote>
        <button type="button" class="btn btn-default center-block">Generate quote</button>
    </div>
</div>
<?php include ('layout/footer.php'); ?>
Here is the function in the model I am retrieving the data from:
function getRandom() {
    $query = $this->db->query("
       SELECT * FROM quotes, characters, series
       WHERE quotes.series_id = series.series_id AND quotes.character_id = characters.character_id
       ORDER BY rand() 
       LIMIT 1
    ");
     return $query->result_array();
}
Should I simply be using something like this?
$("button").click(function(){
   $.get( "Page/index", function( data ) {
     //output data to page element...
   }
});