Ir para conteúdo
Fórum Script Brasil
  • 0

Atualizar sistema de likes


gedmilson

Pergunta

Achei um sistema de likes para meu procjeto. O problema é que está depreciado, tentei actualiza, mas tem umas coisas que não consegui fazer:

- vou mandar os códigos que não consegui actualizar e um que actualizei para que vocês possam saber com o que eu estou mexendo.

 

conexão depreciada

<?php
    $host = 'localhost';
    $user = 'root';
    $pass = '';
    $banco = 'video_aula';
    
    $conectar = mysql_connect($host, $user, $pass);
    if($conectar){
        mysql_select_db($banco);
    }
?>

nova conexão

<?php

date_default_timezone_set('America/Sao_Paulo');


/**
 * PDO PHP Persistence Class
 * https://github.com/victortassinari/pdophpclass
 *
 *
 * @author Victor Tassinari - victortassinarix@gmail.com
 */
 
class Banco {

    private static $connection;
    private $debug;
    private $server;
    private $user;
    private $password;
    private $database;

    public function __construct() {
        $this->debug = true;
        $this->server = "127.0.0.1";
        $this->user = "root";
        $this->password = "";
        $this->database = "video_aula";
    }

    /**
     * Create a database connection or return the connection already open using Singletion Design Patern
     * @return PDOConnection|null
     */
    public function getConnection() {
        try {
            if (self::$connection == null) {
                self::$connection = new PDO("mysql:host={$this->server};dbname={$this->database};charset=utf8", $this->user, $this->password);
                self::$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                self::$connection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
                self::$connection->setAttribute(PDO::ATTR_PERSISTENT, true);
            }
            return self::$connection;
        } catch (PDOException $ex) {
            if ($this->debug) {
                echo "<b>Error on getConnection(): </b>" . $ex->getMessage() . "<br/>";
            }
            die();
            return null;
        }
    }

    /**
     * Unset connection
     * @return void
     */
    public function Disconnect() {
        $this->connection = null;
    }

    /**
     * Return the last id of insert statement
     * @return int
     */
    public function GetLastID() {
        return $this->getConnection()->lastInsertId();
    }

    /**
     * Start one database transaction
     * @return void
     */
    public function BeginTransaction() {
        return $this->getConnection()->beginTransaction();
    }

    /**
     * Commit changes on opened transaction
     * @return void
     */
    public function Commit() {
        return $this->getConnection()->commit();
    }

    /**
     * Roolback changes on opened transaction
     * @return void
     */
    public function Rollback() {
        return $this->getConnection()->rollBack();
    }

    /**
     * returns the result of a query (select) of only one row
     * @param string $sql the sql string
     * @param array $params the array of parameters (array(":col1" => "val1",":col2" => "val2"))
     * @return one position array for the result of query
     */
    public function ExecuteQueryOneRow($sql, $params = null) {
        try {
            $stmt = $this->getConnection()->prepare($sql);
            $stmt->execute($params);
            return $stmt->fetch(PDO::FETCH_ASSOC);
        } catch (PDOException $ex) {
            if ($this->debug) {
                echo "<b>Error on ExecuteQueryOneRow():</b> " . $ex->getMessage() . "<br />";
                echo "<br /><b>SQL: </b>" . $sql . "<br />";

                echo "<br /><b>Parameters: </b>";
                print_r($params) . "<br />";
            }
            die();
            return null;
        }
    }

    /**
     * returns the result of a query (select)
     * @param string $sql the sql string
     * @param array $params the array of parameters (array(":col1" => "val1",":col2" => "val2"))
     * @return array for the result of query
     */
    public function ExecuteQuery($sql, $params = null) {
        try {
            $stmt = $this->getConnection()->prepare($sql);
            $stmt->execute($params);
            return $stmt->fetchAll(PDO::FETCH_ASSOC);
        } catch (PDOException $ex) {
            if ($this->debug) {
                echo "<b>Error on ExecuteQuery():</b> " . $ex->getMessage() . "<br />";
                echo "<br /><b>SQL: </b>" . $sql . "<br />";

                echo "<br /><b>Parameters: </b>";
                print_r($params) . "<br />";
            }
            die();
            return null;
        }
    }

    /**
     * returns if the query was successful
     * @param string $sql the sql string
     * @param array $params the array of parameters (array(":col1" => "val1",":col2" => "val2"))
     * @return boolean
     */
    public function ExecuteNonQuery($sql, $params = null) {
        try {
            $stmt = $this->getConnection()->prepare($sql);
            return $stmt->execute($params);
        } catch (PDOException $ex) {
            if ($this->debug) {
                echo "<b>Error on ExecuteNonQuery():</b> " . $ex->getMessage() . "<br />";
                echo "<br /><b>SQL: </b>" . $sql . "<br />";

                echo "<br /><b>Parameters: </b>";
                print_r($params) . "<br />";
            }
            die();
            return false;
        }
    }

}

funções depreciadas

	function get_artigos(){
		$artigos = array();
		
		$selecionar = mysql_query("SELECT `artigo_id`,`titulo`,`likes` FROM `artigos`");
		
		while($row = mysql_fetch_object($selecionar)){
			$artigos[] = array(
				'id_artigo' => $row->artigo_id,
				'titulo' => $row->titulo,
				'likes' => $row->likes
			);
		}
		
		return $artigos;
	}

Função actualizada

function RetornarArtigos(){
        try {
            $sql = "SELECT id_artigo, titulo, likes FROM artigos";
            $dt = $this->pdo->ExecuteQuery($sql);
            $listaArtigo = []; 
        
        foreach ($dt as $art) {
                $artigo = new Artigo();
                $artigo->setCod($art["id_artigo"]);
                $artigo->setTitulo($art["titulo"]);
                $artigo->setLikes($art["likes"]);

                $listaArtigo[] = $artigo;
            }
        
        return $listaArtigo;
    } catch (PDOException $ex) {
            if ($this->debug) {
                echo "ERRO: {$ex->getMessage()} LINE: {$ex->getLine()}";
            }
            return null;
        }
    }  

Função depreciada

function verificar_clicado($id_artigo, $id_usuario){
        $id_artigo = (int)$id_artigo;
        $id_usuario = (int)$id_usuario;
        $verificar = mysql_query("SELECT like_id FROM `likes` WHERE user_id = '$id_usuario' AND artigo_id = '$id_artigo'");
        return (mysql_num_rows($verificar) >= 1) ? true : false;

Não consegui actualizar

Função depreciada

function adicionar_like($id_artigo, $id_usuario){
		$id_artigo = (int)$id_artigo;
		$id_usuario = (int)$id_usuario;
		$atualizar_likes_post = mysql_query("UPDATE `artigos` SET likes = likes+1 WHERE artigo_id = '$id_artigo'");
		
		if($atualizar_likes_post){
			$inserir_like = mysql_query("INSERT INTO `likes` (user_id, artigo_id) VALUES ('$id_usuario','$id_artigo')");
			if($inserir_like){
				return true;
				
			}else{
				return false;
				
			}
		}
	}

Não consegui actualizar

Função depreciada

function retornar_likes($id_artigo){
		$id_artigo = (int)$id_artigo;
		$selecionar_num_likes = mysql_query("SELECT likes FROM `artigos` WHERE artigo_id = '$id_artigo'");
		$fetch_likes = mysql_fetch_object($selecionar_num_likes);
		return $fetch_likes->likes;
	}

Não consegui actualizar

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...