Advertisement
MoustacheLance

Untitled

Oct 21st, 2014
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.29 KB | None | 0 0
  1. <?php
  2. class Noticia
  3. {
  4.     //atributos
  5.     private $id;
  6.     private $titulo;
  7.     private $cuerpo;
  8.     private $usuario;
  9.  
  10.     //Getters y setters
  11.     public function setId($id)
  12.     {
  13.         $this->id = $id;
  14.     }
  15.  
  16.     public function getId()
  17.     {
  18.         return $this->id;
  19.     }
  20.  
  21.     public function setTitulo($titulo)
  22.     {
  23.         $this->titulo = $titulo;
  24.     }
  25.  
  26.     public function getTitulo()
  27.     {
  28.         return $this->titulo;
  29.     }
  30.  
  31.     public function setCuerpo($cuerpo)
  32.     {
  33.         $this->cuerpo = $cuerpo;
  34.     }
  35.  
  36.     public function getCuerpo()
  37.     {
  38.         return $this->cuerpo;
  39.     }
  40.  
  41.     public function setUsuario($usuario)
  42.     {
  43.         $this->usuario = $usuario;
  44.     }
  45.  
  46.     public function getUsuario()
  47.     {
  48.         return $this->usuario;
  49.     }
  50. }
  51.  
  52. class Usuario
  53. {
  54. /
  55. /Atributos
  56.     private $id;
  57.     private $username;
  58.     private $password;
  59.     private $nombre;
  60.     private $apellido;
  61.  
  62. //Getters y setters
  63.     public function setId($id)
  64.     {
  65.         $this->id = $id;
  66.     }
  67.     public function getId()
  68.     {
  69.         return $this->id;
  70.     }
  71.  
  72.     public function setUsername($username)
  73.     {
  74.         $this->username = $username;
  75.     }
  76.     public function getUsername()
  77.     {
  78.         return $this->username;
  79.     }
  80.  
  81.     public function setPassword($password)
  82.     {
  83.         $this->password = $password;
  84.     }
  85.     public function getPassword()
  86.     {
  87.         return $this->password;
  88.     }
  89.  
  90.     public function setNombre($nombre)
  91.     {
  92.         $this->nombre = $nombre;
  93.     }
  94.     public function getNombre()
  95.     {
  96.         return $this->nombre;
  97.     }
  98.  
  99.     public function setApellido($apellido)
  100.     {
  101.         $this->apellido = $apellido;
  102.     }
  103.     public function getApellido()
  104.     {
  105.         return $this->apellido;
  106.     }
  107. }
  108.  
  109. class NoticiaRepository
  110. {
  111.     private $connection;
  112.     public function __construct()
  113.     {
  114.     //conexion
  115.         $this->connection = new mysqli('localhost', 'root','','noticias');
  116.     }
  117.  
  118.     public function find($id)
  119.     {
  120. //Busco en la base de datos
  121.         $result=$this->connection->query("SELECT * from noticia WHERE id =".$id);
  122.  
  123.         $row=mysqli_fetch_array($result);
  124.  
  125. //Obtener usuario
  126.         $noticia = new Noticia();
  127.         $noticia->setTitulo($row["titulo"]);
  128.         $noticia->setCuerpo($row["cuerpo"]);
  129.  
  130.         return $noticia;
  131.     }
  132.  
  133.     public function findAll()
  134.     {
  135. //Creo el array
  136.        $noticias = array();
  137.  
  138. //Query para ir a buscar los campos de la tabla noticias
  139.         $result=$this->connection->query("SELECT * FROM noticia");
  140.  
  141. //Traigo todos los campos
  142.         while ($row=mysqli_fetch_array($result))
  143.         {
  144.             $noticia = new Noticia();
  145.             $noticia->setTitulo($row["titulo"]);
  146.  
  147. //Query para ir a buscar por id de usuario
  148.             $usuarioQuery = $this->connection->query('SELECT * FROM usuario where id='.$row["usuario_id"]);
  149.  
  150.             $rowUsuario = mysqli_fetch_array($usuarioQuery);
  151.             $usuario = new Usuario();
  152. //muestro campo por campo
  153.             $usuario->setId($rowUsuario["id"]);
  154.             $usuario->setUsername($rowUsuario["username"]);
  155.             $usuario->setNombre($rowUsuario["nombre"]);
  156.             $usuario->getApellido($rowUsuario["apellido"]);
  157.  
  158.             $noticia->setCuerpo($row["cuerpo"]);
  159.             $noticia->setUsuario($usuario);
  160.  
  161. //Guardo las noticias en el array
  162.             $noticias[] = $noticia;
  163.         }
  164.         return $noticias;
  165.     }
  166.  
  167.     /**
  168.      * @param Noticia $noticia
  169.      */
  170.     public function update($noticia)
  171.     {
  172. //Update
  173.         $this->connection->query("UPDATE noticia SET titulo= '".$noticia->getTitulo()."', cuerpo = '".$noticia->getCuerpo()."' WHERE id=".$noticia->getId());
  174.  
  175.     }
  176.  
  177.     /**
  178.      * @param Noticia $noticia
  179.      */
  180.     public function create($noticia)
  181.     {
  182. //INSERT
  183.        $this->connection->query(
  184.            "INSERT INTO noticia
  185.           (titulo, cuerpo, usuario_id) VALUES
  186.           ('".$noticia->getTitulo()."','"
  187.            .$noticia->getCuerpo()."',"
  188.            .$noticia->getUsuario().
  189.            ")");
  190.        /*No
  191.        "INSERT INTO noticia
  192.        (titulo, cuerpo) VALUES
  193.        ("
  194.        .$noticia->getTitulo().","
  195.        .$noticia->getCuerpo().","
  196.        .$noticia->getUsuario().""*/
  197.     }
  198. }
  199.  
  200. class UsuarioRepository
  201. /*Crear una clase UsuarioRepository con su constructor y los metodos:
  202.  * find($id), findAll(), update($username), create($username)
  203.  */
  204. {
  205.     private $connection;
  206.     public function __construct()
  207.     {
  208.         $this->connection = new mysqli('localhost','root','','noticias');
  209.     }
  210.  
  211.     public function find($id)
  212.     {
  213. //Busca el usuario por el id
  214.         $result = $this->connection->query("SELECT * FROM usuario WHERE id=".$id);
  215.  
  216. //Lo retorna
  217.         $row = mysqli_fetch_array($result);
  218.  
  219.         $usuario = new Usuario();
  220.         $usuario->setNombre($row["nombre"]);
  221.         $usuario->setUsername($row["username"]);
  222.         $usuario->setApellido($row["apellido"]);
  223.         $usuario->setPassword($row["password"]);
  224.  
  225.         return $usuario;
  226.     }
  227.  
  228.     public function findAll()
  229.     {
  230. //creo el array
  231.         $usuario = array();
  232.  
  233.         $result = $this->connection->query("SELECT * FROM usuario");
  234.  
  235.         while ($row = mysqli_fetch_array($result))
  236.         {
  237.             $usuario = new Usuario();
  238.             $usuario->setNombre($row["nombre"]);
  239.             $usuario->setApellido($row["apellido"]);
  240.             $usuario->setUsername($row["username"]);
  241.             $usuario->setPassword($row["password"]);
  242.  
  243.             $usuarios[] = $usuario;
  244.         }
  245.  
  246.         return $usuarios;
  247.     }
  248.  
  249.     /**
  250.      * @param Usuario $usuario
  251.      */
  252.     public function update($usuario)
  253.     {
  254.         $this->connection->query("UPDATE usuario SET
  255.         nombre= ''".$usuario->getNombre()."',
  256.         apellido='".$usuario->getApellido()."',
  257.         username='".$usuario->getUsername()."',
  258.         password='".$usuario->getPassword()."'
  259.         WHERE id='".$usuario->getId());
  260.     }
  261.  
  262.     /**
  263.      * @param Usuario $usuario
  264.      */
  265.     public function create($usuario)
  266.     {
  267.         $this->connection->query("INSERT INTO usuario(username, password, nombre, apellido) VALUES ('"
  268.             .$usuario->getUsername()."','"
  269.             .$usuario->getPassword()."','"
  270.             .$usuario->getUsername()."','"
  271.             .$usuario->getApellido().")");
  272.     }
  273. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement