151 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
	include_once('film.php');
 | 
						|
 | 
						|
    class Film_DAO extends DAO {
 | 
						|
 | 
						|
		//Constructor:
 | 
						|
        function __construct($bd_name){
 | 
						|
			parent::__construct($bd_name);
 | 
						|
        }
 | 
						|
 | 
						|
		//Methods:
 | 
						|
 | 
						|
        //Create a new Session.
 | 
						|
		public function createFilm($id, $tittle, $duration, $language, $description, $img){
 | 
						|
			$sql = sprintf( "INSERT INTO `film`( `id`, `tittle`, `duration`, `language`,`description`, `img`) 
 | 
						|
								VALUES ( '%d', '%s', '%d', '%s','%s', '%s')", 
 | 
						|
									$id, $tittle, $duration, $language, $description, $img);
 | 
						|
			
 | 
						|
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
						|
			return $resul;
 | 
						|
		}
 | 
						|
		//Returns a  film data .
 | 
						|
		public function GetFilm($tittle,$language){
 | 
						|
			$sql = sprintf( "SELECT * FROM film WHERE film.tittle = '%s'AND film.language='%s'", $tittle,$language );
 | 
						|
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
						|
			return $resul;
 | 
						|
		}
 | 
						|
 | 
						|
		//Returns the film's data by ID.
 | 
						|
		public function FilmData($id){
 | 
						|
			$id = $this->mysqli->real_escape_string($id);
 | 
						|
 | 
						|
			$sql = sprintf( "SELECT * FROM film WHERE id = '%d'", $id );
 | 
						|
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
						|
 | 
						|
			$resul->data_seek(0);
 | 
						|
			$film = null;
 | 
						|
			while ($fila = $resul->fetch_assoc()) {
 | 
						|
				if($id === $fila['id']){
 | 
						|
					$film = $this->loadFilm($fila["id"], $fila["tittle"], $fila["duration"], $fila["language"], $fila["description"], $fila["img"]);
 | 
						|
				}
 | 
						|
			}
 | 
						|
 | 
						|
			//mysqli_free_result($selectUser);
 | 
						|
			$resul->free();
 | 
						|
 | 
						|
			return $film;
 | 
						|
		}
 | 
						|
 | 
						|
		public function existFilm($id){
 | 
						|
			$id = $this->mysqli->real_escape_string($id);
 | 
						|
 | 
						|
			$sql = sprintf( "SELECT * FROM film WHERE id = '%d'", $id );
 | 
						|
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
						|
			return $resul;
 | 
						|
		}
 | 
						|
		
 | 
						|
	    //Returns a query to get All the films.
 | 
						|
		public function allFilmData(){
 | 
						|
			$sql = sprintf( "SELECT * FROM film ");
 | 
						|
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
						|
 | 
						|
			while($fila=$resul->fetch_assoc()){
 | 
						|
				$films[] = $this->loadFilm($fila["id"], $fila["tittle"], $fila["duration"], $fila["language"], $fila["description"], $fila["img"]);
 | 
						|
			}
 | 
						|
			$resul->free();
 | 
						|
			return $films;
 | 
						|
		}
 | 
						|
 | 
						|
 | 
						|
		//Returns a query to get all films tittles.
 | 
						|
		public function tittleFilmData(){
 | 
						|
			$sql = sprintf( "SELECT DISTINCT tittle FROM film ");
 | 
						|
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
						|
 | 
						|
			return $resul;
 | 
						|
		}
 | 
						|
 | 
						|
		//Returns a query to get all films descriptions.
 | 
						|
		public function descriptionFilmData(){
 | 
						|
			$sql = sprintf( "SELECT description FROM film ");
 | 
						|
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
						|
 | 
						|
			return $resul;
 | 
						|
		}
 | 
						|
 | 
						|
		/*
 | 
						|
		public function addFilm($films) {
 | 
						|
			$resul =  mysqli_query($this->mysqli, $this->createFilm($film.getId(), $film.getTittle(), $film.getDuration(), $film.getLanguage(), $film.getDescription())) or die ('Error into query database');
 | 
						|
			return $resul;
 | 
						|
		}
 | 
						|
		*/
 | 
						|
 | 
						|
		//Deleted film by "id".
 | 
						|
		public function deleteFilm($id){
 | 
						|
			$sql = sprintf( "DELETE FROM film WHERE film.id = '%d' ;",$id);
 | 
						|
 | 
						|
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
						|
 | 
						|
			return $resul;
 | 
						|
		}
 | 
						|
		
 | 
						|
		//Edit a film.
 | 
						|
		public function editFilm($id, $tittle, $duration, $language,$description,$img){
 | 
						|
			$sql = sprintf( "UPDATE film SET tittle = '%s' , duration = '%d', language ='%s' , description ='%s', img ='%s'
 | 
						|
								WHERE film.id = '%d';", 
 | 
						|
									$tittle, $duration, $language, $description, $img, $id);
 | 
						|
 | 
						|
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
						|
 | 
						|
			return $resul;
 | 
						|
		}
 | 
						|
 | 
						|
		//Edit a film.
 | 
						|
		public function editFilmNoImg($id, $tittle, $duration, $language,$description){
 | 
						|
			$sql = sprintf( "UPDATE film SET tittle = '%s' , duration = '%d', language ='%s' , description ='%s'
 | 
						|
								WHERE film.id = '%d';", 
 | 
						|
									$tittle, $duration, $language, $description, $id);
 | 
						|
 | 
						|
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
						|
 | 
						|
			return $resul;
 | 
						|
		}
 | 
						|
 | 
						|
		//Get cinemas associated with a movie.
 | 
						|
		public function getCinemas($id){
 | 
						|
			include_once('cinema_dao.php');
 | 
						|
			$cinema = new Cinema_DAO("complucine");
 | 
						|
 | 
						|
			$sql = sprintf( " SELECT DISTINCT * FROM cinema WHERE cinema.id in 
 | 
						|
								(SELECT session.idcinema FROM session JOIN film ON session.idfilm = film.id WHERE film.id = '%d'); ", $id);
 | 
						|
			$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
 | 
						|
 | 
						|
			$cinemas = null;
 | 
						|
			while($fila = $resul->fetch_assoc()){
 | 
						|
				$cinemas[] = $cinema->loadCinema($fila["id"], $fila["name"], $fila["direction"], $fila["phone"]);
 | 
						|
			}
 | 
						|
			$resul->free();
 | 
						|
 | 
						|
			return $cinemas;
 | 
						|
		}
 | 
						|
	    
 | 
						|
		//Create a new film Data Transfer Object.
 | 
						|
		public function loadFilm($id, $tittle, $duration, $language,$description, $img){
 | 
						|
			return new Film( $id, $tittle, $duration, $language,$description, $img);
 | 
						|
		}
 | 
						|
	    	
 | 
						|
    }
 | 
						|
 | 
						|
?>
 |