Jump to content
Fórum Script Brasil
  • 0

CRUD em DAO


leandrogs

Question

E aí pessoal, como vai? Bom, estou desenvolvendo um pequeno sistema aqui onde eu posso fazer as operações Create, Read, Update e Delete (CRUD) utilizando os padrões DAO e MVC em PHP. Não posso fazer uso de PDO e o sistema não precisa ser flexível pois é apenas para exercitar os conceitos de DAO e MVC.

Agora segue o meu problema... Não consigo pensar em uma maneira para listar os registros no banco de dados! Estou dependendo desta parte para seguir em frente, ainda tenho muita coisa a ser feita. Seguem os códigos.

../controllers/MusicController.php

<?php

ini_set("display_errors", 1);
error_reporting(E_ALL);

require_once ("../models/Music.php");

class musicController {

    private $cadastre;
    private $update;
    private $delete;
    private $selection;

    public function __construct() {

        $action = $_POST['action'];
        if ($action == "insert") {
            $this->cadastre = new Music();
            $this->insert();
        } elseif ($action == "update") {
            $this->update = new Music();
            $this->update();
        } elseif ($action == "delete") {
            $this->delete = new Music();
            $this->delete();
        } elseif ($action == "select") {
            $this->selection = new Music();
            $this->select();
        }
    }

    private function insert() {
        $this->cadastre->setAlb_id($_POST['alb_id']);
        $this->cadastre->setArtist($_POST['artist']);
        $this->cadastre->setTitle($_POST['title']);
        $this->cadastre->setTrack($_POST['track']);

        $this->cadastre->insert();
    }

    private function update() {
        $this->update->setId($_POST['id']);
        $this->update->setAlb_id($_POST['alb_id']);
        $this->update->setArtist($_POST['artist']);
        $this->update->setTitle($_POST['title']);
        $this->update->setTrack($_POST['track']);

        $this->update->update();
    }

    private function delete() {
        $this->delete->setId($_POST['id']);

        $this->delete->delete();
    }

    private function select() {
        $this->selection->select();
    }

}

new musicController();
?>
../models/Music.php
<?php

require_once ("DataBase.php");

class music {

    private $id;
    private $track;
    private $alb_id;
    private $title;
    private $artist;
    private $dataBase;
    private $search;

    function __construct() {
        $this->dataBase = new dataBase();
    }

    public function setId($int) {
        $this->id = $int;
    }

    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 setSearch($string) {
        $this->search = $string;
    }

    public function getId() {
        return $this->id;
    }

    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 getSearch() {
        return $this->search;
    }

    public function insert() {
        $track = $this->getTrack();
        $alb_id = $this->getAlb_id();
        $title = $this->getTitle();
        $artist = $this->getArtist();

        $sql = "INSERT INTO music (track, alb_id, title, artist) VALUES 
            ('$track', '$alb_id', '$title', '$artist')";
        mysql_query($sql) or die(mysql_error());
    }

    public function update() {
        $id = $this->getId();
        $track = $this->getTrack();
        $alb_id = $this->getAlb_id();
        $title = $this->getTitle();
        $artist = $this->getArtist();

        $sql = "UPDATE music SET track='$track', alb_id='$alb_id', title='$title', 
        artist='$artist' WHERE id='$id'";

        mysql_query($sql);
    }

    public function delete() {
        $id = $this->getId();

        $sql = "DELETE FROM music WHERE id='$id'";

        mysql_query($sql);
    }

    public function select() {
        $sql = "SELECT * FROM music";

        $query = mysql_query($sql);
    }

}

?>
../models/DataBase.php
<?php

class dataBase {

    private $host;
    private $user;
    private $pass;
    private $dBase;

    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) or die(mysql_error());
        mysql_select_db($this->dBase);
    }

}

?>

O que está faltando é fazer um arquivo na view que liste as músicas cadastradas em meu banco de dados MySql.

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...