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