Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, estou estudando MVC e DAO para um projeto na universidade. Preciso desenvolver um sistema para cadastrar um acervo musical, onde devo cadastrar uma mídia (CD, DVD ou vinil) e cada mídia pode ter uma ou mais músicas.
Já fiz um model chamado dataBase, que faz as conexões com o banco, monta a sql e faz inserção, remoção ou atualização (ainda não implementei esta parte) dos dados, porém estou montando um outro model chamado music que estende a classe dataBase e envia os campos e valores a serem enviados para o servidor.
A minha dúvida é em como fazer a classe music receber o id de determinadas músicas para serem excluídas do sistema. Será que alguém poderia me ajudar?
Seguem os códigos:
database.php
<?php
class dataBase {
private $host;
private $user;
private $pass;
private $dBase;
private $queryFields = NULL;
private $queryValues = NULL;
private $sql;
private $query;
public $table;
public $fields; //array
public $values; //array
public function __construct() {
$this->connection();
}
private function connection() {
$this->host = "localhost";
$this->user = "root";
$this->pass = "12345";
$this->dBase = "collection";
mysql_connect($this->host, $this->user, $this->pass);
mysql_select_db($this->dBase);
}
//$type == 1 -> Insert
//$type == 2 -> Update
//$type == 3 -> Delete
private function buildQuery($type) {
$cont = count($this->fields);
for ($i = 0; $i < $cont; $i++) {
//Se tiver mais de 1
if ($i < $cont - 1) {
if ($type == 1) {
$this->queryFields .= $this->fields[$i] . ", ";
$this->queryValues .= "'" . $this->values[$i] . "', ";
} elseif ($type == 2) {
} elseif ($type == 3) {
//$this->queryFields .= $this->fields[$i] . "=" . "'" .
// $this->values[$i] . "' AND ";
}
//Se tiver apenas 1
} else {
if ($type == 1) {
$this->queryFields .= $this->fields[$i];
$this->queryValues .= "'" . $this->values[$i] . "'";
} elseif ($type == 2) {
} elseif ($type == 3) {
$this->queryFields .= $this->fields[$i] . "=" . "'" .
$this->values[$i] . "'";
}
}
}
}
public function insertValues() {
$this->buildQuery(1);
$this->sql = "INSERT INTO " . $this->table . " (" . $this->queryFields .
") VALUES (" . $this->queryValues . ")";
$this->query = mysql_query($sql);
$this->result = mysql_affected_rows();
return $this->result;
}
public function updateValues() {
}
public function deleteValues() {
$this->buildQuery(3);
$this->sql = "DELETE FROM " . $this->table . " WHERE " .
$this->queryFields;
$this->query = mysql_query($sql);
$this->result = mysql_affected_rows();
return $this->result;
}
}
?>
music.php
<?php
class music extends dataBase {
private $track;
private $alb_id;
private $title;
private $artist;
function __construct() {
}
public function setTrack($int){
$this->track = $int;
}
public function setAlb_id($int){
$this->alb_id = $int;
}
public function setTitle($string){
$this->title = $string;
}
public function setArtist($string){
$this->artist = $string;
}
public function getTrack(){
return $this->track;
}
public function getAlb_id(){
return $this->alb_id;
}
public function getTitle(){
return $this->title;
}
public function getArtist(){
return $this->artist;
}
public function insert(){
$this->fields = array("track", "alb_id", "title", "artist");
$this->values = array($this->getTrack(), $this->getAlb_id(),
$this->getTitle(), $this->getArtist());
$result = $this->insertValues();
return $result;
}
public function delete(){
//AQUI ESTÁ MINHA DÚVIDA
}
}
?>Carregando comentários...