[0791611] | 1 | <?php
|
---|
| 2 | require_once('./inc/common.php');
|
---|
| 3 |
|
---|
| 4 | $pageTitle = 'Businesses';
|
---|
| 5 | $pageSlug = 'businesses';
|
---|
| 6 |
|
---|
| 7 | require_once('./inc/head.php');
|
---|
| 8 | require_once('./inc/header.php');
|
---|
| 9 | ?>
|
---|
| 10 | <div class="container">
|
---|
| 11 | <h1 class="mt-5"><?= $pageTitle ?></h1>
|
---|
| 12 |
|
---|
| 13 | <?php require_once('./inc/alerts-err.php'); ?>
|
---|
| 14 |
|
---|
| 15 | <p class="lead mb-4">This is a list of all businesses. Select a business to view its details.</p>
|
---|
| 16 |
|
---|
| 17 | <div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 row-cols-xl-4 g-4">
|
---|
| 18 | <?php
|
---|
| 19 | $i = 0;
|
---|
| 20 | /**
|
---|
| 21 | * Fetch all businesses and display them in a list as cards.
|
---|
| 22 | */
|
---|
| 23 | $sql = '
|
---|
| 24 | select
|
---|
| 25 | b.business_id,
|
---|
| 26 | b.business_name,
|
---|
| 27 | (
|
---|
| 28 | select avg(r.review_stars)
|
---|
| 29 | from review r
|
---|
| 30 | where r.business_id = b.business_id
|
---|
| 31 | ) as business_avg_stars,
|
---|
| 32 | c.category_id,
|
---|
| 33 | c.category_name,
|
---|
| 34 | (
|
---|
| 35 | select string_agg(a.address_city, \'; \') as address_city
|
---|
| 36 | from address a
|
---|
| 37 | where a.business_id = b.business_id
|
---|
| 38 | limit 1
|
---|
| 39 | ) as address_city
|
---|
| 40 | from business b
|
---|
| 41 | join category c on
|
---|
| 42 | b.category_id = c.category_id
|
---|
| 43 | order by b.business_name';
|
---|
| 44 | foreach ($conn->query($sql) as $row) {
|
---|
| 45 | $i++;
|
---|
| 46 | ?>
|
---|
| 47 | <div class="col">
|
---|
| 48 | <div class="card shadow-sm">
|
---|
| 49 | <div class="card-body">
|
---|
| 50 | <h5 class="card-title" style="min-height: 2.5em;">
|
---|
| 51 | <a href="/business.php?id=<?= $row['business_id'] ?>"><?= $row['business_name'] ?></a>
|
---|
| 52 | </h5>
|
---|
| 53 | <div><?= $row['category_name'] ?></div>
|
---|
| 54 | <div><?= $row['address_city'] ?></div>
|
---|
| 55 | <?= outputStars($row['business_avg_stars']) ?>
|
---|
| 56 | <a class="btn btn-sm btn-dark mt-3" href="/business.php?id=<?= $row['business_id'] ?>">View</a>
|
---|
| 57 | </div>
|
---|
| 58 | </div>
|
---|
| 59 | </div>
|
---|
| 60 | <?php } ?>
|
---|
| 61 | </div>
|
---|
| 62 | </div>
|
---|
| 63 | <?php
|
---|
| 64 | require_once('./inc/footer.php');
|
---|