yogiwhere/public/frontend2/listings-map.php

324 lines
23 KiB
PHP

<?php include('include/headscriptnologin.php'); ?>
<?php include('include/generalsettings.php'); ?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="assets/images/favicon.png">
<?php include('include/seo.php'); ?>
<?php include('stylesheet.php'); ?>
</head>
<body>
<!-- start header -->
<div class="border-0 card header rounded-0 sticky-top">
<!-- start navbar -->
<?php include('include/navbar.php'); ?>
<!-- end /. navbar -->
<!-- start header search bar -->
<div class="border-bottom border-top p-3 p-xl-0 search-bar">
<div class="row g-3 g-xl-0">
<!-- search bar title -->
<div class="col-12 d-xl-none">
<div class="collapse show" id="CollapseText">
<h2 class="fw-semibold text-center search-bar-title mb-0">Find what<br> you <span class="font-caveat text-primary">want</span></h2>
</div>
</div>
<div class="col-md-8 col-lg-5 col-xl-6">
<div class="search-select-input has-icon has-icon-y position-relative">
<!-- input -->
<input class="form-control" type="text" placeholder="What are you looking for?">
<!-- icon -->
<svg class="form-icon-start position-absolute top-50 bi bi-pin-map-fill" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M3.1 11.2a.5.5 0 0 1 .4-.2H6a.5.5 0 0 1 0 1H3.75L1.5 15h13l-2.25-3H10a.5.5 0 0 1 0-1h2.5a.5.5 0 0 1 .4.2l3 4a.5.5 0 0 1-.4.8H.5a.5.5 0 0 1-.4-.8l3-4z" />
<path fill-rule="evenodd" d="M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999z" />
</svg>
<!-- icon -->
<svg class="form-icon-end position-absolute top-50 bi bi-crosshair" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#9b9b9b" viewBox="0 0 16 16">
<path d="M8.5.5a.5.5 0 0 0-1 0v.518A7.001 7.001 0 0 0 1.018 7.5H.5a.5.5 0 0 0 0 1h.518A7.001 7.001 0 0 0 7.5 14.982v.518a.5.5 0 0 0 1 0v-.518A7.001 7.001 0 0 0 14.982 8.5h.518a.5.5 0 0 0 0-1h-.518A7.001 7.001 0 0 0 8.5 1.018V.5Zm-6.48 7A6.001 6.001 0 0 1 7.5 2.02v.48a.5.5 0 0 0 1 0v-.48a6.001 6.001 0 0 1 5.48 5.48h-.48a.5.5 0 0 0 0 1h.48a6.002 6.002 0 0 1-5.48 5.48v-.48a.5.5 0 0 0-1 0v.48A6.001 6.001 0 0 1 2.02 8.5h.48a.5.5 0 0 0 0-1h-.48ZM8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z" />
</svg>
<!-- select -->
<select class="input-select position-absolute top-50">
<option selected>0.5 km</option>
<option value="1">1 km</option>
<option value="2">5 km</option>
<option value="3">10 km</option>
</select>
</div>
</div>
<div class="col-md-2 col-lg-2 col-xl-3 d-none d-lg-block">
<!-- Start Search Select -->
<div class="search-select has-icon position-relative">
<select class="select2 form-select" aria-label="Default select example">
<option selected>Select Location</option>
<option value="1">It & Development</option>
<option value="2">Web & Mobile Dev</option>
<option value="3">Writing</option>
<option value="4">Sales & Marketing</option>
<option value="5">Music & Audio</option>
</select>
<svg class="form-icon-start position-absolute top-50 search-icon z-1 bi bi-geo-alt" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 16 16">
<path d="M12.166 8.94c-.524 1.062-1.234 2.12-1.96 3.07A31.493 31.493 0 0 1 8 14.58a31.481 31.481 0 0 1-2.206-2.57c-.726-.95-1.436-2.008-1.96-3.07C3.304 7.867 3 6.862 3 6a5 5 0 0 1 10 0c0 .862-.305 1.867-.834 2.94zM8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10z" />
<path d="M8 8a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z" />
</svg>
</div>
<!-- /.End Search Select -->
</div>
<div class="col-md-2 col-lg-2 col-xl-3 d-none d-lg-block">
<!-- Start Search Select -->
<div class="search-select has-icon position-relative">
<select class="select2 form-select" aria-label="Default select example">
<option selected>All Categories</option>
<option value="1">It & Development</option>
<option value="2">Web & Mobile Dev</option>
<option value="3">Writing</option>
<option value="4">Sales & Marketing</option>
<option value="5">Music & Audio</option>
</select>
<!-- <i class="fa-solid fa-sack-dollar fs-18 search-icon"></i> -->
<svg class="form-icon-start position-absolute top-50 search-icon z-1 bi bi-app-indicator" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 16 16">
<path d="M5.5 2A3.5 3.5 0 0 0 2 5.5v5A3.5 3.5 0 0 0 5.5 14h5a3.5 3.5 0 0 0 3.5-3.5V8a.5.5 0 0 1 1 0v2.5a4.5 4.5 0 0 1-4.5 4.5h-5A4.5 4.5 0 0 1 1 10.5v-5A4.5 4.5 0 0 1 5.5 1H8a.5.5 0 0 1 0 1H5.5z" />
<path d="M16 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0z" />
</svg>
</div>
<!-- /.End Search Select -->
</div>
<div class="col-lg-3 col-md-4 col-mg-3 d-xl-none gap-3 gap-md-2 hstack justify-content-center">
<a href="#" class="sidebarCollapse align-items-center d-flex justify-content-center filters-text fw-semibold gap-2">
<i class="fa-solid fa-arrow-up-short-wide fs-18"></i>
<span>All filters</span>
</a>
<div class="h-75 mt-auto vr d-md-none"></div>
<a href="#" id="mapCollapse" class="align-items-center d-flex justify-content-center filters-text fw-semibold gap-2">
<i class="fa-solid fa-map-location-dot fs-18"></i>
<span>Map</span>
</a>
</div>
</div>
</div>
<!-- end /. header search bar -->
</div>
<!-- end /. header -->
<div class="map-wrapper">
<!-- start sidebar filters -->
<?php include('include/sidebarfilter.php'); ?>
<!-- end /. sidebar filters -->
<!-- start items content -->
<div class="items-content bg-light d-flex flex-column py-3 p-xl-4">
<div class="d-flex flex-wrap align-items-center mb-3 gap-2">
<div class="col fs-18 text-nowrap">All <span class="fw-bold text-dark">9,069</span> listing found</div>
<!-- start button group -->
<div class="border-0 card d-inline-flex flex-row flex-wrap gap-1 p-1 rounded-3 shadow-sm">
<a href="listings-map-grid-1.html" class="btn btn-light btn-sm px-2 py-1"><i class="fa-solid fa-border-all"></i></a>
<a href="listings-map.html" class="btn btn-light btn-sm px-2 py-1"><i class="fa-solid fa-list"></i></a>
</div>
<!-- end /. button group -->
</div>
<div class="mb-4">
<!-- start card list -->
<?php
// Assumiamo che la connessione al database ($conn) sia già stata stabilita.
$conn = new mysqli($servername, $username, $password, $database);
// Query per recuperare i dati dalla tabella yogaschool
$query = "SELECT idyogaschool, nameschool, address, phoneschool, city, shortschooldescription, zip, country FROM yogaschool";
$result = $conn->query($query); // Esegui la query
// Verifica se ci sono risultati
if ($result->num_rows > 0) {
// Cicla attraverso i risultati e crea le card dinamicamente
while ($row = $result->fetch_assoc()) {
// Estrai i dati dalla riga corrente
$id = $row['idyogaschool'];
$name = $row['nameschool'];
$phone = $row['phoneschool'];
$address = $row['address'];
$city = $row['city'];
$zip = $row['zip'];
$country = $row['country'];
$shortschooldescription = $row['shortschooldescription'];
// Stampa la card
echo '
<div class="card border-0 shadow-sm overflow-hidden rounded-4 mb-4 card-hover card-hover-bg">
<a href="listing-details.php?idschool=' . $id . '" class="stretched-link"></a>
<div class="card-body p-0">
<div class="g-0 row">
<div class="col-lg-5 col-md-5 col-xl-12 col-xxl-5 position-relative">
<div class="card-image-hover dark-overlay h-100 overflow-hidden position-relative">
<!-- start image -->
<img src="assets/images/place/01.jpg" alt="" class="h-100 w-100 object-fit-cover">
<!-- end /. image -->
<div class="bg-blur card-badge d-inline-block position-absolute start-0 text-white z-2">
<i class="fa-solid fa-star me-1"></i>Featured
</div>
<div class="bg-blur card-badge d-inline-block position-absolute start-0 text-white z-2">$100 off $399: eblwc</div>
</div>
</div>
<div class="col-lg-7 col-md-7 col-xl-12 col-xxl-7 p-3 p-lg-4 p-md-3 p-sm-4">
<div class="d-flex flex-column h-100">
<div class="d-flex end-0 gap-2 me-3 mt-3 position-absolute top-0 z-1">
<a href="" class="btn-icon shadow-sm d-flex align-items-center justify-content-center text-primary bg-light rounded-circle" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-title="Bookmark">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-heart" viewBox="0 0 16 16">
<path d="m8 2.748-.717-.737C5.6.281 2.514.878 1.4 3.053c-.523 1.023-.641 2.5.314 4.385.92 1.815 2.834 3.989 6.286 6.357 3.452-2.368 5.365-4.542 6.286-6.357.955-1.886.838-3.362.314-4.385C13.486.878 10.4.28 8.717 2.01L8 2.748zM8 15C-7.333 4.868 3.279-3.04 7.824 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C12.72-3.042 23.333 4.867 8 15z"></path>
</svg>
</a>
</div>
<div class="align-items-center d-flex flex-wrap gap-1 text-primary card-start mb-2">
<i class="fa-solid fa-star"></i>
<span class="fw-medium text-primary"><span class="fs-6 fw-semibold me-1">(4.5)</span>2,391 reviews</span>
</div>
<!-- start card title -->
<h4 class="fs-18 fw-semibold mb-0">
<a href="listing-details.php?idschool=' . $id . '" class="text-decoration-none">' . $name . '</a>
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" class="bi bi-patch-check-fill text-success" viewBox="0 0 16 16">
<path d="M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zm.287 5.984-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z"></path>
</svg>
</h4>
<p class="text-muted small">' . $address . ', ' . $city . ', ' . $zip . ', ' . $country . '</p>
<!-- end card title -->
<!-- start card description -->
<p class="mt-3">' . $shortschooldescription . '</p>
<!-- end card description -->
<!-- start contact content -->
<div class="d-flex flex-wrap gap-3 mt-auto z-1">
<a href="tel:' . $phone . '" class="d-flex gap-2 align-items-center fs-13 fw-semibold">
<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="#9b9b9b" class="bi bi-telephone" viewBox="0 0 16 16">
<path d="M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z"></path>
</svg>
<span>' . $phone . '</span>
</a>
</div>
<!-- end contact content -->
</div>
</div>
</div>
</div>
</div>';
}
} else {
echo "Nessuna scuola trovata.";
}
?>
<!-- end /. card list -->
</div>
<!-- start pagination -->
<nav class="justify-content-center mt-auto pagination align-items-center">
<a class="prev page-numbers" href="#">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" class="bi bi-arrow-left-short" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M12 8a.5.5 0 0 1-.5.5H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5a.5.5 0 0 1 .5.5z" />
</svg>
previous
</a>
<span class="page-numbers current">1</span>
<a class="page-numbers" href="#">2</a>
<a class="next page-numbers" href="#">
next
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" class="bi bi-arrow-right-short" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z" />
</svg>
</a>
</nav>
<!-- end /. pagination -->
</div>
<!-- end /. items content -->
<!-- start map content -->
<div class="map-content">
<button type="button" class="sidebarCollapse collapseText btn btn-primary ms-4 mt-4 position-absolute start-0 top-0 align-items-center gap-2 hstack filters-text gap-1 d-none d-xl-flex">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-sort-alpha-up" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M10.082 5.629 9.664 7H8.598l1.789-5.332h1.234L13.402 7h-1.12l-.419-1.371h-1.781zm1.57-.785L11 2.687h-.047l-.652 2.157h1.351z"></path>
<path d="M12.96 14H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V14zm-8.46-.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z"></path>
</svg>
<span>Hide filters</span>
</button>
<div class="d-flex inner-wrap--top p-3 position-absolute start-0 top-0 w-100 d-xl-none">
<!-- map close icon -->
<div class="align-items-center d-flex flex-shrink-0 justify-content-center map-close-icon rounded-circle">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-left" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z" />
</svg>
</div>
<!-- map search input -->
<div class="search-select-input has-icon has-icon-y position-relative flex-grow-1 ms-2">
<!-- input -->
<input class="form-control" type="text" placeholder="What are you looking for?">
<!-- icon -->
<svg class="form-icon-start position-absolute top-50 bi bi-pin-map-fill" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M3.1 11.2a.5.5 0 0 1 .4-.2H6a.5.5 0 0 1 0 1H3.75L1.5 15h13l-2.25-3H10a.5.5 0 0 1 0-1h2.5a.5.5 0 0 1 .4.2l3 4a.5.5 0 0 1-.4.8H.5a.5.5 0 0 1-.4-.8l3-4z" />
<path fill-rule="evenodd" d="M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999z" />
</svg>
<!-- icon -->
<svg class="form-icon-end position-absolute top-50 bi bi-crosshair" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="#9b9b9b" viewBox="0 0 16 16">
<path d="M8.5.5a.5.5 0 0 0-1 0v.518A7.001 7.001 0 0 0 1.018 7.5H.5a.5.5 0 0 0 0 1h.518A7.001 7.001 0 0 0 7.5 14.982v.518a.5.5 0 0 0 1 0v-.518A7.001 7.001 0 0 0 14.982 8.5h.518a.5.5 0 0 0 0-1h-.518A7.001 7.001 0 0 0 8.5 1.018V.5Zm-6.48 7A6.001 6.001 0 0 1 7.5 2.02v.48a.5.5 0 0 0 1 0v-.48a6.001 6.001 0 0 1 5.48 5.48h-.48a.5.5 0 0 0 0 1h.48a6.002 6.002 0 0 1-5.48 5.48v-.48a.5.5 0 0 0-1 0v.48A6.001 6.001 0 0 1 2.02 8.5h.48a.5.5 0 0 0 0-1h-.48ZM8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z" />
</svg>
<!-- select -->
<select class="input-select position-absolute top-50">
<option selected>0.5 km</option>
<option value="1">1 km</option>
<option value="2">5 km</option>
<option value="3">10 km</option>
</select>
</div>
</div>
<!-- filter button -->
<div class="all-filters-wrap bottom-0 mb-5 position-absolute start-0 text-center w-100 d-xl-none">
<div class="align-items-center all-filters d-inline-flex fw-semibold gap-2 justify-content-center px-4 py-3 rounded-pill">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-sort-alpha-up" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M10.082 5.629 9.664 7H8.598l1.789-5.332h1.234L13.402 7h-1.12l-.419-1.371h-1.781zm1.57-.785L11 2.687h-.047l-.652 2.157h1.351z"></path>
<path d="M12.96 14H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V14zm-8.46-.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z"></path>
</svg>
<span>All filters</span>
</div>
</div>
<!-- start map -->
<div id="mapCanvasTwo" class="map-grid map-full shadow-left"></div>
<!-- end /. map -->
</div>
<!-- end /. map content -->
</div>
<!-- start footer -->
<?php include('include/footer.php'); ?>
<!-- end /. footer -->
<!-- Optional JavaScript -->
<script src="assets/plugins/jQuery/jquery.min.js"></script>
<script src="assets/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="assets/plugins/aos/aos.min.js"></script>
<script src="assets/plugins/macy/macy.js"></script>
<script src="assets/plugins/simple-parallax/simpleParallax.min.js"></script>
<script src="assets/plugins/OwlCarousel2/owl.carousel.min.js"></script>
<script src="assets/plugins/theia-sticky-sidebar/ResizeSensor.min.js"></script>
<script src="assets/plugins/theia-sticky-sidebar/theia-sticky-sidebar.min.js"></script>
<script src="assets/plugins/waypoints/jquery.waypoints.min.js"></script>
<script src="assets/plugins/counter-up/jquery.counterup.min.js"></script>
<script src="assets/plugins/jquery-fancyfileuploader/fancy-file-uploader/jquery.ui.widget.js"></script>
<script src="assets/plugins/jquery-fancyfileuploader/fancy-file-uploader/jquery.fileupload.js"></script>
<script src="assets/plugins/jquery-fancyfileuploader/fancy-file-uploader/jquery.iframe-transport.js"></script>
<script src="assets/plugins/jquery-fancyfileuploader/fancy-file-uploader/jquery.fancy-fileupload.js"></script>
<script src="assets/plugins/ion.rangeSlider/ion.rangeSlider.min.js"></script>
<script src="assets/plugins/magnific-popup/jquery.magnific-popup.min.js"></script>
<script src="assets/plugins/select2/select2.min.js"></script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB4iuUg1YDRIBRZ5e-jdssfqDuT9VLiOnY&callback=initMap"></script>
<script>
function initMap() {
console.log("Inizializzazione mappa...");
var mapOptions = {
center: {
lat: 52.5200,
lng: 13.4050
}, // Berlino
zoom: 8
};
var map = new google.maps.Map(document.getElementById('mapCanvasTwo'), mapOptions);
}
</script>
<!-- Custom script for this template -->
<script src="assets/js/script.js"></script>
<script src="assets/js/listing-map.js"></script>
</body>
</html>