Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TiagoArabe

Verificar duplicidade

Recommended Posts

Olá pessoal;

Estou com uma dúvida, e uma dificuldade.

Estou precisando verificar duplicidade em dois itens de uma mesma tabela ao mesmo tempo, tentei fazer do jeirto que está abaixo porém ele só verifica a duplicidade do idSub. Se puderem me ajudar, por favor, agradeceria muito.

 

if($_POST["txtLocal"] == "formCadMainMenu"){
//captando dados do Formulário
$nome = $_POST["txtnome"]; 
$email = $_POST["txtemail"];
$cpf = $_POST["txtcpf"];
$sub = $_POST["txtsub"];

//instanciando o Objeto de Cadastro
$cad = new ManipulateData();
$cad->setTable("tbcadastro");
$cad->setFieldId("idCpf");
$cad->setFieldId("idSub");

//verificando se existe a sessão cadastrada
if($cad->getDadosDuplicados("$cpf") >= 1){
	$erro = base64_encode("CPF já Cadastrado!");
}else if($cad->getDadosDuplicados("$sub") >= 1){
	$erro = base64_encode("Subdominio já Cadastrado!");
}else{
	$cad->setFields("idNome,idEmail,idCpf,idSub");
	$cad->setDados("'$nome', '$email', '$cpf', '$sub'");
	$cad->insert();
	$erro = base64_encode($cad->getStatus());
}
@header("Location: ../?secao=Home&msn=$erro");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste o corpo dos métodos ManipulateData::setFieldId() e ManipulateData::getDadosDuplicados().

 

Já imagino o que possa ser, mas com mais informações fica melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
include_once("mySqlConn.php");

class ManipulateData extends mySqlConn{

protected $sql, $table, $fields, $dados, $status, $fieldId, $valueId; 

//envia o nome da tabela a ser usada na classe
public function setTable($t){
	$this->table = $t;
}

//envia os campos a serem usados na classe
public function setFields($f){
	$this->fields = $f;
}

// envia os dados a serem usados na classe
public function setDados($d){
	$this->dados = $d;
}

//envia o campo de pesquisa, normalmente o campo código
public function setFieldId($fi){
	$this->fieldId = $fi;
}

// envia os dados a serem cadastrados ou pesquisados
public function setValueId($vi){
	$this->valueId = $vi;
}	

//recebe o status atual, erros ou acertos
public function getStatus(){
	return $this->status;
}

//método que efetua cadastro de dados no banco
public function insert(){
	$this->sql = "INSERT INTO $this->table(
						$this->fields
				  )VALUES(
				  		$this->dados
				  )";
	if(self::execSql($this->sql)){
		$this->status = "Cadastrado com Sucesso!!!";
	}			  
}

// método que efetua a exclusão de dados no banco
public function delete(){
	$this->sql = "DELETE FROM $this->table WHERE $this->fieldId = '$this->valueId'";
	if(self::execSQL($this->sql)){
		$this->status = "Apagado com Sucesso!!!";
	}
}

// método que faz a alteraçao de dados no banco
public function update(){
	$this->sql = "UPDATE $this->table SET
						$this->fields
				  WHERE
				  		$this->fieldId = '$this->valueId'
				  ";
	if(self::execSql($this->sql)){
		$this->status = "Alterado com Sucesso!!!";
	}		
}

//método que busca o ultimo código na tabela cadastrada
public function getLastId(){
	$this->sql = "SELECT $this->fieldId FROM $this->table ORDER BY $this->fieldId DESC LIMIT 1";
	$this->qr = self::execSql($this->sql);
	$this->data = self::listQr($this->qr);
	return $this->data["$this->fieldId"];
}

// método que verifica se existem valores duplicados, returna 1 existe 0 nao existe
public function getDadosDuplicados($valorPesquisado){
	$this->sql = "SELECT $this->fieldId FROM $this->table WHERE $this->fieldId = '$valorPesquisado'";
	$this->qr = self::execSql($this->sql);
	return self::countData($this->qr);
}

// método que busca o total de dadoa cadastrado em uma query
public function getTotalData(){
	$this->sql = "SELECT $this->fieldId FROM $this->table ORDER BY $this->fieldId";
	$this->qr = self::execSql($this->sql);
	return self::countData($this->qr);
}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Era justamente o que eu estava imaginando. Está vendo o que está ocorrendo no método setFieldId()?

 

public function setFieldId($fi){
   $this->fieldId = $fi;
}

Cada vez que você o invoca, um novo valor está sendo atribuído à propriedade fieldId.

 

Você está fazendo confusão com seu objeto. Dá uma lida nesse tópico que você vai aprender muito.

 

Os campos a serem alvo da "filtragem" deveriam estar no WHERE, que poderia, apesar de não ser o melhor, ser um parâmetro de métodos select(), update(), delete()...

 

Enfim, não vou forçar ninguém a fazer a coisa certa, apesar de ser muito interessante para o crescimento profissional. Nesse caso vou apenas sugerir uma solução. Se temporária, vai de você.

 

Faça a propriedade fieldId ser um array. A cada chamado ao método setFieldId() você adiciona um novo valor à ela com a [ sintaxe de chaves ].

 

Onde a propriedade for usada, antes de tudo você atribui à uma variável local o valor da propriedade após passar um array_unique().

 

Daí você condiciona. Se o número de itens for igual a 1 você apenas adiciona o elemento. Se for maior que um você faz une pela cláusula OR (ou AND, você quem sabe).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

Agradeço muito a sua disposição para me ajudar, porém, para minha sorte talvez, eu ainda estou aprendendo, e esta classe eu praticamente já peguei pronta, por isso é bom saber que existe uma maneira melhor para criá-la.

Agora quanto a sua solução, como disse, estou iniciando no mundo da Programação e me desculpa a ignorância mas não entendi muito bem como fazê-la.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sugiro que você estude Orientação a Objetos. Apesar de parcialmente completos ou até mesmo espalhados por aí tem ótimos artigos aqui no Fórum.

 

Uma vez que você entender bem a coisa tente criar sua própria classe então já que esta te limita demais, prendendo à apenas queries simples.

 

Mas como isso leva tempo eu não acredito que vou dizer isso, tem um jeito de "contornar" essa limitação.

 

Atribua um array como parâmetro de where() e use-o para montar os condicionais (ou conectivos).

 

Assim, quando for chamar o método where() você passa um array com cada uma das condições:

 

$where = array( 'fieldId = 1', 'fieldId = 2', 'name ="Fulano"' );

Daí, unindo com implode() como disse, você vai ter cada uma dessas condições separadas por um OR (ou AND).

 

Ainda fica inflexível, já que você não vai poder, pelo menos não elegantemente, fazer uma query mais complexas com OR E AND, mas já vai ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu utilizo essa classe ManipulateData, sou iniciante na OOphp

eu gostaria de acrescentar uma função de SELECT, alguém poderia me ajudar?

 

	public function getAllData(){
	$this->sql = "SELECT $this->fields FROM $this->table";	
	$this->qr = self::execSQL($this->sql);
	$this->data = self::listQr($this->qr);
	return $this->data["$this->fields"];
}

fiz essa, mas quando retorna, retorna somente uma linha da tabela e se no this->fields eu passar o como parametro "*" ele tambem da erro. alguem pode me ajudar a desenvolver essa função para SELECT e eu passar os campos necessarios?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A menos que exista algo nativo nessa classe, faltou um loop aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A menos que exista algo nativo nessa classe, faltou um loop aí.

realmente não fiz o loop, tava esperando um milagre dessa função no mySqlConn

	protected function listQr($qr){
	$this->data = @mysql_fetch_array($qr);
	return $this->data;
}

mas ai que tá, não consigo encaixar o loop nesse metodo, to tendando entender o SELECT na OOphp, o resto ta tranquilo.

ex:

       //essa executa o SQL
	protected function execSQL($sql){
	$this->qr = @mysql_query($sql);
	return $this->qr;
}
wile($result = mysql_fetch_array($sql)){
    $capo1 = $result[0];
    $capo2 = $result[1];
    $capo3 = $result[2];
}

seria mais ou menos:

   while($result = $this->qr){
   // ???
   }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem nada a ver com Orientação a Objetos os seu problema.

 

Você não está conseguindo fazer uma das coisas mais básicas ao se trabalhar com banco de dados, que é justamente obter as informações resultantes de um SELECT Statement.

 

E olha que no manual tem vários exemplos, hein ^^

 

Basta implementar um deles nesse método listQr(). Muito embora eu ainda ache que o melhor serria trabalhar com a PDO, que faz isso nativamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

$sql1 = mysql_query("SELECT*FROM tabela WHERE cedula='$procura'") or die (mysql_error());
 $sql2 = mysql_num_rows($sql1);

if($sql2 > 0){
 echo "duplicado";
}else{
 echo "nao existe duplicidade";
}

?>

 

Pode tentar assim também...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem nada a ver com Orientação a Objetos os seu problema.

 

Você não está conseguindo fazer uma das coisas mais básicas ao se trabalhar com banco de dados, que é justamente obter as informações resultantes de um SELECT Statement.

 

E olha que no manual tem vários exemplos, hein ^^

 

Basta implementar um deles nesse método listQr(). Muito embora eu ainda ache que o melhor serria trabalhar com a PDO, que faz isso nativamente.

olá Bruno, eu sei fazer select eu não estou conseguindo encaixar ele na minha classe, realmente acredito que seja algo simples, mas não estou conseguindo, segue a classe que estou usando:

nome da classe: ManipulateData.php

<?php
include_once("mySqlConn.php");

class ManipulateData extends mySqlConn{

protected $sql, $table, $fields, $dados, $status, $fieldId, $valueId; 

//envia o nome da tabela a ser usada na classe
public function setTable($t){
	$this->table = $t;
}

//envia os campos a serem usados na classe
public function setFields($f){
	$this->fields = $f;
}

// envia os dados a serem usados na classe
public function setDados($d){
	$this->dados = $d;
}

//envia o campo de pesquisa, normalmente o campo código
public function setFieldId($fi){
	$this->fieldId = $fi;
}

// envia os dados a serem cadastrados ou pesquisados
public function setValueId($vi){
	$this->valueId = $vi;
}	

//recebe o status atual, erros ou acertos
public function getStatus(){
	return $this->status;
}

//método que efetua cadastro de dados no banco
public function insert(){
	$this->sql = "INSERT INTO $this->table(
						$this->fields
				  )VALUES(
				  		$this->dados
				  )";
	if(self::execSql($this->sql)){
		$this->status = "Cadastrado com Sucesso!!!";
	}			  
}

// método que efetua a exclusão de dados no banco
public function delete(){
	$this->sql = "DELETE FROM $this->table WHERE $this->fieldId = '$this->valueId'";
	if(self::execSQL($this->sql)){
		$this->status = "Apagado com Sucesso!!!";
	}
}

// método que faz a alteraçao de dados no banco
public function update(){
	$this->sql = "UPDATE $this->table SET
						$this->fields
				  WHERE
				  		$this->fieldId = '$this->valueId'
				  ";
	if(self::execSql($this->sql)){
		$this->status = "Alterado com Sucesso!!!";
	}		
}

//método que busca o ultimo código na tabela cadastrada
public function getLastId(){
	$this->sql = "SELECT $this->fieldId FROM $this->table ORDER BY $this->fieldId DESC LIMIT 1";
	$this->qr = self::execSql($this->sql);
	$this->data = self::listQr($this->qr);
	return $this->data["$this->fieldId"];
}

// método que verifica se existem valores duplicados, returna 1 existe 0 nao existe
public function getDadosDuplicados($valorPesquisado){
	$this->sql = "SELECT $this->fieldId FROM $this->table WHERE $this->fieldId = '$valorPesquisado'";
	$this->qr = self::execSql($this->sql);
	return self::countData($this->qr);
}

// método que busca o total de dadoa cadastrado em uma query
public function getTotalData(){
	$this->sql = "SELECT $this->fieldId FROM $this->table ORDER BY $this->fieldId";
	$this->qr = self::execSql($this->sql);
	return self::countData($this->qr);
}
}
?>

 

Casse de conexao e query

nome mySqlConn

<?php
abstract class mySqlConn{

protected $host, $user, $pass, $dba, $conn, $sql, $qr, $data, $status, $totalFields, $error;

//método que incializa automaticamente as variáveis de conexão
public function __construct(){
	$this->host = "localhost";
	$this->user = "root";
	$this->pass = "";
	$this->dba = "teste";	
	self::connect(); // eexecuta o método de conexão automaticamente ao herdar a classe
}

//método utilizando para efetuar a conexão com o banco de dados
protected function connect(){
	$this->conn = @mysql_connect($this->host, $this->user, $this->pass) or die 
										("<b><center>Erro ao acessar banco de dados </b></center><br />".mysql_error());
	$this->dba = @mysql_select_db($this->dba) or die 
										("<b><center>Erro ao selecionar banco de dados: </b></center><br />".mysql_error());
}
// metodo utilizando para executar comandos SQL
protected function execSQL($sql){
	$this->qr = @mysql_query($sql) or die ("<b><center>Erro ao Executar o Query: $sql - </b></center><br />".mysql_error());
	return $this->qr;
}

// método que executa e lista dados do banco de dados
protected function listQr($qr){
	$this->data = @mysql_fetch_array($qr);
	return $this->data;
}

// método que lista a quantidade de dados encontrados no query
protected function countData($qr){
	$this->totalFields = mysql_num_rows($qr);
	return $this->totalFields;
}
}
?>

método inserir, atualizar e excluir faço tranquilo, o problema é o select, eu estou usando sem a classe porque não consegui adaptar nela

Select sem a classe

$limite = '3';
$noticias = mysql_query("SELECT * ORDER BY noticiaData DESC
					LIMIT $limite							
					")
		or die(mysql_error());
if(@mysql_num_rows($noticias) <= '0'){
echo "não foram encontradas noticias neste momento";
}else{

while($res_noticias = mysql_fetch_array($noticias)){
	$texto = $res_noticias[0];
	$data  = $res_noticias[1];
       }
       echo $data."<br/>";
       echo $texto;

 

tenho um arquivo de teste.php

dessa forma me retorna somente 1 texto na tabela

<?php
include_once("ManipulateData.php");


$select = new ManipulateData();
$select->setTable("tb_noticias");
$select->setFields("noticiaTexto");
$select->getAllData();

print $select->getAllData();

?>

----

assim me retorna um erro na linha 106 do ManipulateData

$select->setFields("noticiaId,noticiaTexto");

public function getAllData(){
	$this->sql = "SELECT $this->fields FROM $this->table";	
	$this->qr = self::execSQL($this->sql);
	$this->data = self::listQr($this->qr);
	return $this->data["$this->fields"]; // erro aqui
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, agora que nos deu a forma como tentou fazer fica mais claro onde está o seu verdadeiro problema. ^^

 

Veja essas duas linhas, de dentro do seu while:

 

$texto = $res_noticias[0];
$data  = $res_noticias[1];

Vamos lá, PHP básico. O que você acha que está acontecendo aí?

 

A cada iteração a variável $texto e $data vai ter um valor, afinal você está fazendo uma atribuição (=). Mas você quer mais de um valor em cada variável, o que essa variável deveria ser?

 

Resposta: Um array :grin:

 

Mais simples do que nunca (e até mesmo com uma única linha), basta trocar por:

 

$data[] = $res_notoicias;

Viu os colchetes vazios? Eles servem para informara que a cada iteração o valor da atribuição será inserido no final do array. Como ele já existe, seja a partir da iteração anterior, seja pela inicialização fora do while, ele não será sobrescrito.

 

Veja também que se torna desnecessário a definição manual dos índices que, por não estarem sendo verificados, poderiam gerar algum Notice lá na frente. Eu simplesmente informo que o valor inteiro da iteração corrente passe a fazer parte de tal array.

 

Simples, não :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá Bruno,

eu entendi o que você esta passando, acredito que eu não expliquei melhor, faz o seguinte:

pega a classe ManipulateData.php e mySqlConn.php;

cria um documento php em branco e faz a chamada da classe.

faço dessa forma:

<?php
include_once("ManipulateData.php");

$select = new ManipulateData();
$select->setTable("tb_noticias");
$select->setFields("noticiaTexto, noticiaData");
$select->getAllData();

print $select->getAllData();

?>	

listar o conteudo de uma tabela no banco, somente isso que estou querendo fazer mais nada.

 

modifiquei como Falou,

	
public function getAllData(){
	$this->sql = "SELECT $this->fields FROM $this->table";	
	$this->qr = self::execSQL($this->sql);
	$this->data = self::listQr($this->qr);

		while($res = $this->qr){
			print $this->data[] = $res;
		}
}

resultado é esse em toda a pagina:

Resource id #6Resource id #6Resource id #6Resource id #6Resource id #6Resource id #6Resource id

 

alterando para esse:

public function getAllData(){
	$this->sql = "SELECT $this->fields FROM $this->table";	
	$this->qr = self::execSQL($this->sql);
	$this->data = self::listQr($this->qr);

		while($res = $this->data){
			print $this->data[] = $res;
		}
}

o resultado é isso em toda a pagina:

ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray;

 

eu não quero é ter que fazer tudo isso aqui nas paginas:

$sqlNoticia = mysql_query("SELECT noticiaId,noticiaTexto,noticiaData
		  FROM tb_noticias ORDER BY noticiaId ASC
		")
		or die(mysql_error());

if(@mysql_num_rows($sqlNoticia) <= '0'){
	echo "<div class=\"no\">Não Foi encontrado Notícias</div>";
}else{


	while($res_noticia = mysql_fetch_array($sqlNoticia)){

		$noticiaId      = @$res_noticia[0];
		$noticiaTexto   = @$res_noticia[1];
		$noticiaData    = @$res_noticia[2];
?>
não consigo encontrar meu erro, por isso que utilizo o metodo acima somente para todos meus SELECT	

 

analisa a classe mySqlConn, verá que nelassa ja tem mysql_query e mysql_fetch_array

protected function execSQL($sql){
	$this->qr = @mysql_query($sql) or die ("<b><center>Erro ao Executar o Query: $sql - </b></center><br />".mysql_error());
	return $this->qr;
}

// método que executa e lista dados do banco de dados
protected function listQr($qr){
	$this->data = @mysql_fetch_array($qr);
	return $this->data;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faltou fechar o while(); e pare de usar @, isso oculta os erros e você não sabe o que está acontecendo no código.

 

 

Você esta ocultando os erros:

 

@mysql_query()

@mysql_fetch_array()

 

Tente usar o nome do campo no fetch

while($res_noticia = mysql_fetch_array($sqlNoticia)) { 
  $noticiaId      = $res_noticia['id_campo']; 
  $noticiaTexto   = $res_noticia['noticia_texto']; 
  $noticiaData    = $res_noticia['noticia_data']; 
}

 

Aqui vai minha dica:

 

Se você está iniciando em programação, começe a fazer o modo estruturado do php(normal), depois que aprender as funções basicas pelo menos (manipular dados, array's, e coisas do genero) caia de cara no POO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

EBERTON, estamos aqui para ajudar, então não importam quantas vezes tenhamos que explicar, o faremos de bom grado :thumbsup:

 

A solução está bem clara, você mesmo já solucionou seu problema e nem sabe disso.

 

Preste atenção naquilo que postou no quarto bloco CODE de sua última resposta. Compare com suas tentativas de implementar na classe. Veja o que está faltando e verá como resolver.

 

Lembre-se de que não é certo te darmos o peixe pronto. Vamos ensiná-lo a pescar.

 

Para facilitar veja, no manual, o tipo de retorno (texto em itálico antes do nome da função) de mysql_query() e mysql_fetch_array() e você poderá compreender o motivo de, nos testes feitos e demonstrados no segundo e terceiro CODE postados,você ter visto Array e Resource.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faltou fechar o while(); e pare de usar @, isso oculta os erros e você não sabe o que está acontecendo no código.

 

 

Você esta ocultando os erros:

 

@mysql_query()

@mysql_fetch_array()

 

Tente usar o nome do campo no fetch

while($res_noticia = mysql_fetch_array($sqlNoticia)) { 
  $noticiaId      = $res_noticia['id_campo']; 
  $noticiaTexto   = $res_noticia['noticia_texto']; 
  $noticiaData    = $res_noticia['noticia_data']; 
}

 

Aqui vai minha dica:

 

Se você está iniciando em programação, começe a fazer o modo estruturado do php(normal), depois que aprender as funções basicas pelo menos (manipular dados, array's, e coisas do genero) caia de cara no POO.

 

olá André da Silva!

isso ai acima é tranquilo estou caindo de cara no POO mesmo, estou tentando alterar minha classe.

vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta falando da

}

é porque tava fechando mais abaixo de um form.

vou mover esse tópico para um novo porque as pessoas estão achando que estou verificando duplicidade, é que eu peguei o bonde aqui nesse tópico porque o usuario usa a mesma classe que eu.

 

EBERTON, estamos aqui para ajudar, então não importam quantas vezes tenhamos que explicar, o faremos de bom grado :thumbsup:

 

A solução está bem clara, você mesmo já solucionou seu problema e nem sabe disso.

 

Preste atenção naquilo que postou no quarto bloco CODE de sua última resposta. Compare com suas tentativas de implementar na classe. Veja o que está faltando e verá como resolver.

 

Lembre-se de que não é certo te darmos o peixe pronto. Vamos ensiná-lo a pescar.

 

Para facilitar veja, no manual, o tipo de retorno (texto em itálico antes do nome da função) de mysql_query() e mysql_fetch_array() e você poderá compreender o motivo de, nos testes feitos e demonstrados no segundo e terceiro CODE postados,você ter visto Array e Resource.

 

bruno eu concordo com ensinar a pescar, mas as vezes ter um peixo pronto é kkk, brincadeiras a parte.

acontece que ja estou bem saturado mesmo e o unico tempo que tenho é de 00:00 até as 5:00 da manhã, voce pode observar pelo os meus posts, então é meio estressante, as vezes agente se mata por causa de uma virgula, eu que estou começando agora a menos de um mês em phpOO tá tando certo, mas vamo que vamo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na na ni na não. Se precisar mover, deixa com a gente. Se começar a duplicar dúvidas ficaremos carecas. Nós dois :P

 

Veja o seu "fragmento de teste", ao que parece fora da classe:

 

while($res_noticia = mysql_fetch_array($sqlNoticia))

Apesar de antiquado, essa é a forma correta. Por isso é que funciona.

 

Perceba que na sua classe você joga dentro do while ora um recurso, vindo de mysql_query(), ora o próprio mysql_fetch_array().

 

Não que a segunda esteja errada, mas você vai pegar um único resultado desse jeito.

 

O que estou tentando te explicar há um tempinho já é para que aplique aquilo que conseguiu nos testes dentro da classe, isto é, forneça ao while aquilo que você está fornecendo no teste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK! isso eu percebi quando me disse anteriormente e consigui os resultados esperados;

    public function getAllData(){
    	$this->sql = "SELECT $this->fields FROM $this->table";  
    	$this->qr = self::execSQL($this->sql);
       //$this->data = self::listQr($this->qr);

	while($rows = mysql_fetch_array($this->qr)){
		echo $rows[0]."<br/>";
		echo $rows[1]."<br/>";
		echo $rows[2]."<br/>";
	}
 }

veja que está comentada essa lina

//$this->data = self::listQr($this->qr);

, então ela ja faz o mysql_fetch_array e eu

não consigo raciocinar a forma de colocar ela dentro do while.

também funciona dessa outra forma

while($rows = self::listQr($this->qr)){

ou seja está funcionando, não sei se é o método correto, acho meio gambiarrado mas ok!

outra coisa!

se eu quiser usar uma varial vinda da classe dentro de um while lá fora, essa variavel tem que ser publica né

é porque fiz uns teste aqui assim;

Método na classe:

criei uma variavel public $rs;

	public function selecionar(){
	$this->sql = "SELECT $this->fields FROM $this->table";
	$this->rs = self::execSQL($this->sql);

arquivo teste.php

$obj = new ManipulateData();
$obj->setTable("tb_noticias");
$obj->setFields("*");
$obj->selecionar();
while($rows = mysql_fetch_object($obj->rs)){
	echo $rows->noticiaId;
	echo "<br/>";
	echo $rows->noticiaTexto;
	echo "<br/>";
	echo $rows->noticiaData;
	echo "<br/>";
}

é porque na verdade vou precisar pegar esses dados, como eu não sei AINDA pegar eles dentro da classe depois jogar eles la fora, assim tambem dá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.