functions.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. function &getConnection(){
  3. $db = new PDO('sqlite:cars.sqlite');
  4. return $db;
  5. }
  6. function closeConnection ($db){
  7. $db = NULL;
  8. }
  9. //create the database if does not exist
  10. function createCarsTable($db){
  11. $db->exec("CREATE TABLE IF NOT EXISTS cars (id INTEGER PRIMARY KEY, manufacturer TEXT, year INTEGER, price INTEGER)");
  12. }
  13. function resetCarsTable($db){
  14. dropCarsTable($db);
  15. createCarsTable($db);
  16. loadDefaultCars($db);
  17. }
  18. function dropCarsTable($db){
  19. $db->exec("DROP TABLE IF EXISTS cars");
  20. }
  21. function loadDefaultCars($db){
  22. $query = $db->prepare('INSERT INTO cars (id, manufacturer, year, price) VALUES(:id, :manufacturer, :year, :price)');
  23. $data = array(
  24. array(
  25. 'id' => 1,
  26. 'manufacturer' => 'Honda',
  27. 'year' => 2010,
  28. 'price' => 200000
  29. ),
  30. array(
  31. 'id' => 2,
  32. 'manufacturer' => 'Jaguar',
  33. 'year' => 2012,
  34. 'price' => 400000
  35. ),
  36. array(
  37. 'id' => 3,
  38. 'manufacturer' => 'BMW',
  39. 'year' => 2000,
  40. 'price' => 75000
  41. ),
  42. array(
  43. 'id' => 4,
  44. 'manufacturer' => 'Mercedes',
  45. 'year' => 1980,
  46. 'price' => 1000
  47. )
  48. );
  49. foreach($data as $index => $value){
  50. $query->bindValue(':id', $value['id'], PDO::PARAM_INT);
  51. $query->bindValue(':manufacturer', $value['manufacturer'], PDO::PARAM_STR);
  52. $query->bindValue(':year', $value['year'], PDO::PARAM_INT);
  53. $query->bindValue(':price', $value['price'], PDO::PARAM_INT);
  54. $query->execute();
  55. }
  56. }
  57. function &loadCars($db){
  58. $select = $db->prepare('SELECT * FROM cars ORDER BY id ASC LIMIT 100');
  59. $select->execute();
  60. return $select;
  61. }
  62. function carsTableExists($db){
  63. $result = $db->query("SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='cars'");
  64. $row = $result->fetch(PDO::FETCH_NUM);
  65. return $row[0] > 0;
  66. }