0% found this document useful (0 votes)
12 views5 pages

Note 2024-05-23 21-26-51

The document shows how to create a database and table to store establishment data, develop an application to view establishments on a map and list, and add/view establishment details.

Uploaded by

tkvcr28zsb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views5 pages

Note 2024-05-23 21-26-51

The document shows how to create a database and table to store establishment data, develop an application to view establishments on a map and list, and add/view establishment details.

Uploaded by

tkvcr28zsb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

CREATE DATABASE etablissements;

USE etablissements;

CREATE TABLE etablissements (


id INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(255) NOT NULL,
adresse TEXT,
description TEXT,
periode_de_travail VARCHAR(255),
specialites TEXT,
image_url VARCHAR(255),
latitude DECIMAL(10, 8),
longitude DECIMAL(11, 8)
);

———

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "etablissements";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>

——-

<?php
include 'config.php';

$sql = "SELECT * FROM etablissements";


$result = $conn->query($sql);
?>

<!DOCTYPE html>
<html>
<head>
<title>Mes Établissements</title>
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script
src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"></
script>
<script
src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></
script>
<script
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY"></script>
<style>
#map {
height: 500px;
width: 100%;
}
</style>
</head>
<body>
<div class="container">
<h1 class="my-4">Bienvenue sur le récapitulatif de mes établissements</h1>
<div class="form-group">
<label for="address">Rechercher par adresse :</label>
<input type="text" id="address" class="form-control"
placeholder="Entrez une adresse">
<button class="btn btn-primary mt-2"
onclick="geocodeAddress()">Rechercher</button>
</div>
<div id="map"></div>
<h2 class="my-4">Liste des Établissements</h2>
<ul class="list-group">
<?php while($row = $result->fetch_assoc()): ?>
<li class="list-group-item">
<a href="etablissement.php?id=<?= $row['id'] ?>">
<?= $row['nom'] ?>
</a>
</li>
<?php endwhile; ?>
</ul>
</div>

<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 5,
center: {lat: 48.8566, lng: 2.3522} // Paris par défaut
});

<?php
$sql = "SELECT * FROM etablissements";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()):
?>
var marker = new google.maps.Marker({
position: {lat: <?= $row['latitude'] ?>, lng: <?=
$row['longitude'] ?>},
map: map,
title: '<?= $row['nom'] ?>'
});

var infowindow = new google.maps.InfoWindow({


content: '<h4><?= $row['nom'] ?></h4><p><?= $row['adresse'] ?
></p>'
});

marker.addListener('click', function() {
infowindow.open(map, marker);
});
<?php endwhile; ?>
}

function geocodeAddress() {
var geocoder = new google.maps.Geocoder();
var address = document.getElementById('address').value;
geocoder.geocode({'address': address}, function(results, status) {
if (status === 'OK') {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: results[0].geometry.location
});

<?php
$sql = "SELECT * FROM etablissements";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()):
?>
var marker = new google.maps.Marker({
position: {lat: <?= $row['latitude'] ?>, lng: <?=
$row['longitude'] ?>},
map: map,
title: '<?= $row['nom'] ?>'
});

var infowindow = new google.maps.InfoWindow({


content: '<h4><?= $row['nom'] ?></h4><p><?=
$row['adresse'] ?></p>'
});

marker.addListener('click', function() {
infowindow.open(map, marker);
});
<?php endwhile; ?>
} else {
alert('Geocode was not successful for the following reason: ' +
status);
}
});
}

window.onload = initMap;
</script>
</body>
</html>

———

<?php
include 'config.php';

$id = $_GET['id'];
$sql = "SELECT * FROM etablissements WHERE id = $id";
$result = $conn->query($sql);
$etablissement = $result->fetch_assoc();
?>

<!DOCTYPE html>
<html>
<head>
<title><?= $etablissement['nom'] ?></title>
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h1 class="my-4"><?= $etablissement['nom'] ?></h1>
<p><strong>Adresse :</strong> <?= $etablissement['adresse'] ?></p>
<p><strong>Période de Travail :</strong> <?=
$etablissement['periode_de_travail'] ?></p>
<p><strong>Description :</strong> <?= $etablissement['description'] ?></p>
<p><strong>Spécialités :</strong> <?= $etablissement['specialites'] ?></p>
<?php if ($etablissement['image_url']): ?>
<img src="<?= $etablissement['image_url'] ?>" class="img-fluid" alt="<?
= $etablissement['nom'] ?>">
<?php endif; ?>
<p><a href="index.php" class="btn btn-primary mt-4">Retour à la
liste</a></p>
</div>
</body>
</html>

———

<!DOCTYPE html>
<html>
<head>
<title>Ajouter un Établissement</title>
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h1 class="my-4">Ajouter un Établissement</h1>
<form action="inserer.php" method="post">
<div class="form-group">
<label for="nom">Nom :</label>
<input type="text" class="form-control" id="nom" name="nom"
required>
</div>
<div class="form-group">
<label for="adresse">Adresse :</label>
<textarea class="form-control" id="adresse" name="adresse"
required></textarea>
</div>
<div class="form-group">
<label for="description">Description :</label>
<textarea class="form-control" id="description" name="description"
required></textarea>
</div>
<div class="form-group">
<label for="periode_de_travail">Période de Travail :</label>
<input type="text" class="form-control" id="periode_de_travail"
name="periode_de_travail" required>
</div>
<div class="form-group">
<label for="specialites">Spécialités :</label>
<textarea class="form-control" id="specialites" name="specialites"
required></textarea>
</div>
<div class="form-group">
<label for="image_url">URL de l'Image :</label>
<input type="text" class="form-control" id="image_url"
name="image_url">
</div>
<div class="form-group">
<label for="latitude">Latitude :</label>
<input type="text" class="form-control" id="latitude"
name="latitude" required>
</div>
<div class="form-group

———-

<?php
include 'config.php';

$nom = $_POST['nom'];
$adresse = $_POST['adresse'];
$description = $_POST['description'];
$periode_de_travail = $_POST['periode_de_travail'];
$specialites = $_POST['specialites'];
$image_url = $_POST['image_url'];
$latitude = $_POST['latitude'];
$longitude = $_POST['longitude'];

$sql = "INSERT INTO etablissements (nom, adresse, description, periode_de_travail,


specialites, image_url, latitude, longitude) VALUES ('$nom', '$adresse',
'$description', '$periode_de_travail', '$specialites', '$image_url', '$latitude',
'$longitude')";

if ($conn->query($sql) === TRUE) {


echo "Nouvel établissement ajouté avec succès";
} else {
echo "Erreur: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

<p><a href="ajouter.php">Ajouter un autre établissement</a></p>


<p><a href="index.php">Retour à la liste</a></p>

———

You might also like