105 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			105 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?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);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								?>
							 |