#\controllers\toprental.py import config, re, json from bottle import template, route, request, redirect from models import registerdb @route('/toprental') def getTopRental(): config.kargs['toprentals'] = json.dumps(registerdb.getTopRental()) return template('toprental', data=config.kargs)
def getTopRental(): conn = sqlite3.connect('sqlite.db') cursor = conn.cursor() sql = "SELECT CUSTOMER, COUNT(*) FROM REGISTER GROUP BY CUSTOMER ORDER BY COUNT(*) DESC LIMIT 10" cursor.execute(sql) customers = cursor.fetchall() sql = "SELECT BRAND, COUNT(*) FROM REGISTER GROUP BY BRAND ORDER BY COUNT(*) DESC LIMIT 10" cursor.execute(sql) brands = cursor.fetchall() conn.commit() conn.close() return (customers, brands)
<!--\views\toprental.tpl--> %include("./partials/header.tpl") <div class="main" id="main"> <div class="content" id="content"> <div class="top-widget"> <span>TOP RENTAL</span> </div> <div id="table-customer"></div> <div id="table-bicycle"></div> <script src="/static/scripts/jQuery.js"></script> <script src="/static/scripts/main.js"></script> <script> $(document).ready(function() { bicycle.showTopRental({{!data['toprentals']}}); }); </script> </div><!--content--> </div><!--main--> %include("./partials/footer")
showTopRental(toptentals){ var customers = toptentals[0]; var brands = toptentals[1]; var html = ''; if(customers.length > 0){ html += "<table>"; html += "<tr>"; for(var k in {rate:1, 'top customers':1}){ html += "<th>" + k.toUpperCase() + "</th>"; } html += "</tr>"; for(var i=0; i<customers.length; i++){ html += "<tr>"; html += "<td style='width:80px;text-align:center;'>" + (i+1) + "</td>"; html += "<td>" + customers[i][0] + "</td>"; html += "</tr>"; } html += "</table>"; } document.getElementById("table-customer").innerHTML = html; if(brands.length > 0){ html = ''; html += "<table>"; html += "<tr>"; for(var k in {rate:1, 'popular bicycles':1}){ html += "<th>" + k.toUpperCase() + "</th>"; } html += "</tr>"; for(var i=0; i<brands.length; i++){ html += "<tr>"; html += "<td style='width:80px;text-align:center;'>" + (i+1) + "</td>"; html += "<td>" + brands[i][0] + "</td>"; html += "</tr>"; } html += "</table>"; } document.getElementById("table-bicycle").innerHTML = html; }
GitHub: https://github.com/Sokhavuth/Rental-Bicycle-App
Heroku: https://khmerweb-rba.herokuapp.com/