Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu queria criar um classe que executasse uma consulta no banco de dados e as condições dessa consulta fossem passadas como parámetro, só que eu só consigo fazer isso utilizando aspas ou apóstrofo, não sei se é possivel fazer o que eu quero mas mesmo assim, se alguém poder me ajudar, vou ficar muito grato.
O que eu quero é o seguinte:
Eu tenho uma classe Listar.php e é por meio dela que eu realizo a consulta no banco de dados:
<?php
class Lista
{
public $tabela;
public function __construct($tabela) $this->tabela = $tabela;
}
public function ObtemDados($condicao = '', $ordem = '', $quantidade = '') if($condicao != '')
{
$condicao = 'WHERE '.$condicao;
}
if($ordem != '')
{
$ordem = 'ORDER BY '.$ordem;
}
if($quantidade != '')
{
$quantidade = 'LIMIT '.$quantidade;
}
$query = 'SELECT * FROM '.$this->tabela.' '.$condicao.' '.$ordem.' '.$quantidade;
$query = mysql_query($query);
return $query;
}
}
?>
E tenho uma classe ListaNoticias.php que lista as noticias do banco de dados:
<?php
class ListaNoticias
{
const TABELA = 'noticias';
const ID = 'id';
const TITULO = 'titulo';
const ASSUNTO = 'assunto';
const NOTICIA = 'noticia';
const DATA = 'data';
const STATUS = 'status';
const ATIVADO = 'S';
const DESTAVIADO = 'N'
public $id = '';
public $titulo = '';
public $assunto = '';
public $noticia = '';
public $data = '';
public $status = '';
public function ObtemDados($condicao = '', $ordem = '', $quantidade = '') $lista = new Lista(self::TABELA);
$query = $lista->ObtemDados($condicao, $ordem, $quantidade);
$this->query = $query;
return $query;
}
public function Lista() $row = mysql_fetch_assoc($this->query);
$this->id = $row[self::ID];
$this->titulo = $row[self::TITULO];
$this->assunto = $row[self::ASSUNTO];
$this->noticia = $row[self::NOTICIA];
$this->data = $row[self::DATA];
$this->status = $row[self::STATUS];
return $row;
}
public function getTotal() $total = mysql_num_rows($this->query);
return $total;
}
public function getImagem() $imagem = new ListaImagens(self::TABELA);
$imagem->Parametros(ListaImagens::IDSESSAO.'="'.$this->id.'"');
$this->caminhoIMG = $imagem->caminhoIMG;
return $this;
}
public function getVideo() $video = new ListaVideos(self::TABELA);
$video->Parametros(ListaVideos::IDSESSAO.'="'.$this->id.'"');
$this->caminhoVideo = $video->caminhoVideo;
return $this;
}
public function showHTML($width = '', $height = '') if(isset($this->caminhoIMG) and $this->caminhoIMG != '')
{
echo '<img src="'.$this->caminhoIMG.'" width="'.$width.'" height="'.$height.'">';
}
if(isset($this->caminhoVideo) and $this->caminhoVideo != '')
{
echo "
<object width='".$width."' height='".$height."'><param name='movie' value='".$this->caminhoVideo."'>
</param><param name='allowFullScreen' value='true'></param><param name='allowscriptaccess'
value='always'></param><embed src='".$this->caminhoVideo."' type='application/x-shockwave-flash'
width='".$width."' height='".$height."' allowscriptaccess='always' allowfullscreen='true'></embed>
</object>
";
}
}
}
?>
E tenho também o arquivo noticia.php que vai exibir para o usuáiro, a noticia:
<?php
require('lib.conf/conf.php');
require('lib.conf/conexao.php');
require('lib.classes/Lista.php');
require('lib.classes/SistemaNoticias/ListaNoticias.php');
$noticia = new ListaNoticias()
$noticia->ObtemDados(ListaNoticias::ID.'="'.$_GET['id'].'"') //É nessa parte que esta a minha dúvida! Em vez de utilizar: $noticia->ObtemDados(ListaNoticias::ID.'="'.$_GET['id'].'"'); eu queria utilizar: $noticia->ObtemDados(ListaNoticias::ID == $_GET['id']);
$noticia->Lista();
?>
<html>
<head>
<title></title>
</head>
<body>
<div id="contentNoticias">
<div id="tituloNoticia">
<?php echo $noticia->titulo; ?>
</div>
<div id="assuntoNoticia">
<?php echo $noticia->assunto; ?>
</div>
<div id="imagemNoticia">
<?php echo $noticia->getImagem()->showHTML(500) ?>
</div>
<div id="textoNoticia">
<?php echo $noticia->noticia; ?>
</div>
<div id="dataNoticia">
<?php echo $noticia->data; ?>
</div>
</div>
</body>
</html>
Esta ae, na parte onde executa o código:
$noticia->ObtemDados(ListaNoticias."='.$_GET['id'].'");
Eu queria que fosse da seguinte maneira:
$noticia->ObtemDados(ListaNoticias == $_GET[id]);
Se alguém puder me ajudar... agradeço! espero que tenham intendido a explicação! Obrigado!
Obs.: Tive que editar algumas vezes o post por que vi alguns erros no que eu digitei! kkk
Carregando comentários...