Ajout d'un code en rapideeeeee
This commit is contained in:
105
TP3/code/modeles/modeleFilms.php
Normal file
105
TP3/code/modeles/modeleFilms.php
Normal file
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
function _getConnection()
|
||||
{
|
||||
static $_conn = NULL;
|
||||
if ($_conn === NULL){
|
||||
$_conn = mysqli_connect("localhost", "votre_utilisateur", "votre_mot_de_passe", "votre_base_de_donnees");
|
||||
if (!$_conn) {
|
||||
die("Erreur de connexion : " . mysqli_connect_error());
|
||||
}
|
||||
mysqli_set_charset($_conn, "utf8");
|
||||
}
|
||||
return $_conn;
|
||||
}
|
||||
|
||||
function getFilms($realisateur_id = null, $tri = 'titre', $limit = null)
|
||||
{
|
||||
$conn = _getConnection();
|
||||
|
||||
// Construction de la requête de base
|
||||
$sql = "SELECT SQL_CALC_FOUND_ROWS f.idFilm, f.titre, f.annee, f.genre, a.nom, a.prenom
|
||||
FROM Film f
|
||||
INNER JOIN Artiste a ON f.idMes = a.idArtiste";
|
||||
|
||||
// Ajout du filtre par réalisateur si spécifié
|
||||
if ($realisateur_id !== null && $realisateur_id !== '') {
|
||||
$sql .= " WHERE f.idMes = " . intval($realisateur_id);
|
||||
}
|
||||
|
||||
// Ajout du tri
|
||||
$colonnes_autorisees = ['titre', 'annee', 'genre', 'nom'];
|
||||
if (in_array($tri, $colonnes_autorisees)) {
|
||||
$sql .= " ORDER BY ";
|
||||
if ($tri === 'nom') {
|
||||
$sql .= "a.nom, a.prenom";
|
||||
} else if ($tri === 'titre' || $tri === 'annee' || $tri === 'genre') {
|
||||
$sql .= "f." . $tri;
|
||||
}
|
||||
}
|
||||
|
||||
// Ajout de la limite si spécifiée
|
||||
if ($limit !== null) {
|
||||
$sql .= " LIMIT " . intval($limit);
|
||||
}
|
||||
|
||||
$result = mysqli_query($conn, $sql);
|
||||
|
||||
if (!$result) {
|
||||
die("Erreur dans la requête : " . mysqli_error($conn));
|
||||
}
|
||||
|
||||
$films = [];
|
||||
while ($row = mysqli_fetch_assoc($result)) {
|
||||
$films[] = $row;
|
||||
}
|
||||
|
||||
return $films;
|
||||
}
|
||||
|
||||
function getNombreFilmsTotal()
|
||||
{
|
||||
$conn = _getConnection();
|
||||
$result = mysqli_query($conn, "SELECT FOUND_ROWS() as total");
|
||||
$row = mysqli_fetch_assoc($result);
|
||||
return $row['total'];
|
||||
}
|
||||
|
||||
function getRealisateurs()
|
||||
{
|
||||
$conn = _getConnection();
|
||||
$sql = "SELECT DISTINCT a.idArtiste, a.nom, a.prenom
|
||||
FROM Artiste a
|
||||
INNER JOIN Film f ON a.idArtiste = f.idMes
|
||||
ORDER BY a.nom, a.prenom";
|
||||
|
||||
$result = mysqli_query($conn, $sql);
|
||||
|
||||
if (!$result) {
|
||||
die("Erreur dans la requête : " . mysqli_error($conn));
|
||||
}
|
||||
|
||||
$realisateurs = [];
|
||||
while ($row = mysqli_fetch_assoc($result)) {
|
||||
$realisateurs[] = $row;
|
||||
}
|
||||
|
||||
return $realisateurs;
|
||||
}
|
||||
|
||||
function getFilmById($id)
|
||||
{
|
||||
$conn = _getConnection();
|
||||
$sql = "SELECT f.idFilm, f.titre, f.annee, f.genre, f.resume, a.nom, a.prenom
|
||||
FROM Film f
|
||||
INNER JOIN Artiste a ON f.idMes = a.idArtiste
|
||||
WHERE f.idFilm = " . intval($id);
|
||||
|
||||
$result = mysqli_query($conn, $sql);
|
||||
|
||||
if (!$result) {
|
||||
die("Erreur dans la requête : " . mysqli_error($conn));
|
||||
}
|
||||
|
||||
return mysqli_fetch_assoc($result);
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user