Arquivado
Este tópico foi arquivado e está fechado para novas respostas.
- 0
php oo Estou criando um CRUD simples, como modo de estudo, no entanto me deparo com algum problema
Perguntado por
MARCOS EVERTON
-
Conteúdo Similar
-
Por gedmilson
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; } Dei um modificada no index mas não funcionou muito bém <?php session_start(); require_once("Controller/ArtigoController.php"); require_once("Model/Artigo.php"); $artigoController = new ArtigoController(); //$_SESSION['id_usuario'] = 3; //include_once "funcoes/funcoes.php";?> <!DOCTYPE HTML> <html> <head> <title>Sistema de Likes com PHP e Javascript</title> <link href="style.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/funcoes.js"></script> </head> <body bgcolor="#ebebeb"> <?php $listaArtigo = $artigoController->RetornarArtigos(); //$resultados = get_artigos(); if(count($listaArtigo) == 0){ echo 'Desculpe, mais não foram encontrados artigos'; }else{ echo '<ul>'; foreach ($listaArtigo as $artigos) { ?> <li><p><?= $artigos->getTitulo(); ?></p> <p><a href="#" class="like" onclick="javascript:add_like(echo $artigos->getId_artigo();)">Like</a> <span id="artigo_<?= $artigos->getId_artigo(); ?>_like"><?= $artigos->getId_artigo(); ?></span> gostaram disto!</p> </li> <?php } ?> </ul> <?php } ?> </body> </html>
-
Por Madk
O CODIGO ESTA NOS COMENTARIOS
Alguem poderia me ajudar, como eu posso por login na minha pagina index.php e cadastro na pagina cadastro.php, so que com um nivel de acesso, se a pessoa que logar for adm vai para a pagina indexadm.php, JA TENHO o CRUD feito e queria saber como por essa funcao de login, se puderem me ajudar agradeceria dms.
-
Por rodrigo antonio cruz
Ola Senhores venho pedir uma ajudinha boba, mas q ta me tirando a paz, estou estudando php orientado a objetos e estou tentando fazer uma consulta específica porem n consigo. Segue abaixo o código da conexao PHP OO com BD mysql e o codigo do Select. Desde ja Obrigado a quem puder me ajudar!
ESSA É A CONEXAO.PHP QUE CONECTA AO BD, QUE ESTA DENTRO DO CONFIG: <?php class conexao { private $servidor; private $usuario; private $senha; private $banco; public $conexao; public function __construct(){ $this->servidor = "127.0.0.1"; $this->usuario = "root"; $this->senha = ""; $this->banco = "cliente"; } function conectar(){ $this->conexao= new mysqli($this->servidor,$this->usuario,$this->senha,$this->banco); } function fechar(){ $this->conexao->close(); } } ?> ESSA E A QUERY QUE ESTA DENTRO DA CLASSE CLIENTE NO MODEL: <?php class clientes { private $conexao; public function __construct() { require_once('../config/conexao.php'); $this->conexao= new conexao(); $this->conexao->conectar(); } function buscar(){ $nome = $_POST["nome"]; $sql="SELECT * FROM cliente WHERE `nome` LIKE '$nome'"; $result = $this->conexao->conexao->query($sql); if ($resultado->num_rows > 0) { $r=$resultado->fetch_assoc();// AQUI JÁ TENTEI WHILE, FOREACH, DE TUDO, SEI QUE ALGO TO FAZENDO DE ERRADO,MAS N ACHEI ONDE! } echo $r; } } ?>
-
#método para salvar dados do aluno
public function Save(){
try {
$query = "INSERT INTO $this->table (ra,nome,rg,endereco,sexo,data_nasc) "
. "VALUES (:ra,:nome,:rg,:endereco,:sexo,:data_nasc)";
$stm = static::$pdo->prepare($query);
$stm->bindParam(':ra', $this->ra);
$stm->bindParam(':nome', $this->nome);
$stm->bindParam(':rg', $this->rg);
$stm->bindParam(':endereco', $this->endereco);
$stm->bindParam(':sexo', $this->sexo);
$stm->bindParam(':datanasc', $this->data_nasc);
} catch (PDOException $ex) {
print $ex->getMessage();
}
return $stm->execute();
}
#página que deve enserir dados do aluno no banco
<?php ini_set('display_errors',1);
ini_set('display_startup_erros',1);
error_reporting(E_ALL);?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Cadastro de Alunos</title>
<meta>
<link href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<forma action="" method="post" name="form" class="form-inline">
<div style="margin-left: 500px;">
<div class="form-group col-lg-12" style="margin-top: 100px;" >
<label class="sr-only" for="">NOME</label>
<input type="name" class="form-control" id="exampleInputEmail3" name="nome" placeholder="informe nome">
</div>
<div class="form-group col-lg-12">
<label class="sr-only" for="">RA</label>
<input type="name" class="form-control" id="exampleInputPassword3" name="ra" placeholder="informe ra">
</div>
<div class="form-group col-lg-12">
<label class="sr-only" for="">RG</label>
<input type="name" class="form-control" id="exampleInputPassword3" name="rg" placeholder="informe seu rg">
</div>
<div class="form-group col-lg-12">
<label class="sr-only" for="">ENDEREÇO</label>
<input type="name" class="form-control" id="exampleInputPassword3" name="endereco" placeholder="informe seu endereço">
</div>
<div class="form-group col-lg-12">
<label class="sr-only" for="">SEXO</label>
<input type="name" class="form-control" id="exampleInputPassword3" name="sexo" placeholder="informe sexo">
</div>
<div class="form-group col-lg-12">
<label class="sr-only" for="">DATA DE NASCIMENTO</label>
<input type="name" class="form-control" id="exampleInputPassword3" name="data_nasc" placeholder="informe data de nascimento">
</div>
<button type="submit" class="btn btn-default" name="salvar" style="color: blue; margin-top: 20px; margin-left: 60px;">Salvar</button>
</div>
</form>
<?php
function __autoload($classname){
require_once './classes/'.$classname.'.php';
}
$salvar = filter_input(INPUT_POST, 'salvar');
if(isset($salvar)){
$nome = filter_input(INPUT_POST, 'nome',FILTER_SANITIZE_FULL_SPECIAL_CHARS);
$ra = filter_input(INPUT_POST, 'ra',FILTER_SANITIZE_FULL_SPECIAL_CHARS);
$rg = filter_input(INPUT_POST, 'rg',FILTER_SANITIZE_FULL_SPECIAL_CHARS);
$endereco = filter_input(INPUT_POST, 'endereco',FILTER_SANITIZE_FULL_SPECIAL_CHARS);
$sexo = filter_input(INPUT_POST, 'sexo',FILTER_SANITIZE_FULL_SPECIAL_CHARS);
$data_nasc = filter_input(INPUT_POST, 'data_nasc',FILTER_SANITIZE_FULL_SPECIAL_CHARS);
$aluno = new Aluno();
$aluno->setNome($nome);
$aluno->setRa($ra);
$aluno->setRg($rg);
$aluno->setEndereco($endereco);
$aluno->setSexo($sexo);
$aluno->setData_nasc($data_nasc);
$aluno->Save();
?>
<script type="text/javascript">alert('Aluno cadastrado com sucesso!');</script>
<?php
}else {
?>
<script>alert('Falha ao cadastrar aluno!!!');</script>
<?php
}
?>
</body>
</html>
// Obs: no entanto quando tento salvar não retorna nenhuma ação, nem mesmo exibe algum erro na tela.
//Desde já peço a ajuda de voces para solucionar o problema.
Compartilhar este post
Link para o post
Compartilhar em outros sites