Ir para conteúdo

POWERED BY:

Arquivado

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

espiculo

[Resolvido] Pergunta e resposta

Recommended Posts

Boa tarde povo ... :D

 

esto fazendo um sistema de pergunta e resposta ...

 

listagem mais esta repetindo as pegunta mais de 1 vez ....

 

deve ser erro do select ... mais não sei Aruma isso ... ou a logica esta errada alguem poderia me ajuda !!??

 

codigo ...

 

<?php 
$qr = "SELECT * FROM horto_fazerpergunta,horto_fazerperguntaResposta  WHERE idproduto_fazerpergunta = '$busca' AND idproduto_fazerperguntaResposta = '$busca' ORDER BY horariodia_fazerpergunta DESC "; 
$sql = mysql_query($qr) or die (mysql_error()); 
$tudo = mysql_num_rows($sql); 

  
while ($registro = mysql_fetch_array($sql)) {
 
//banco de dados pergunta 
  $horariodia_fazerpergunta = "$registro[horariodia_fazerpergunta]";
  $pergunta_fazerpergunta = "$registro[pergunta_fazerpergunta]";
  $compara_fazerpergunta = "$registro[compara_fazerpergunta]";
  $id_fazerpergunta = "$registro[id_fazerpergunta]";
//banco de dados resposta 
  $nomevendedor = "$registro[nome_fazerperguntaResposta]";
  $respostavendedor = "$registro[resposta_fazerperguntaResposta]";
  $idpergunta = "$registro[idpergunta_fazerperguntaResposta]";
  ?>
  
  <br>
   <table width="740" height="43" border="1" cellpadding="0" cellspacing="0" class="azul">
	<tr>
	  <td width="79" height="19" colspan="2">Hora: <?php echo $horariodia_fazerpergunta;?></td>
	</tr>
	<tr>
	  <td width="79">Pergunta:</td>
	  <td width="409"><?php echo $pergunta_fazerpergunta;?></td>
	</tr>
	<tr>
	<?php if ($id_fazerpergunta == $idpergunta){ ?>
	  <td>Resposta:</td>
	  <td><?php echo $respostavendedor;?></td>
	<?php } ?>  
	</tr>
  </table>
  
  <?php } ?>

banco de dados .. da pergunta e resposta ...

 

Imagem Postada

 

Olha a lista ... dois repetindo ...

 

Imagem Postada

 

abraços ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra mim, isso eh tipo de SQL...

$qr = "SELECT * FROM horto_fazerpergunta,horto_fazerperguntaResposta  WHERE idproduto_fazerpergunta = '$busca' AND idproduto_fazerperguntaResposta = '$busca' ORDER BY horariodia_fazerpergunta DESC ";
nao era melhor fazer um JOIN ?

SELECT * FROM `horto_fazerpergunta` INNER JOIN `horto_fazerperguntaResposta` ON horto_fazerpergunta.idproduto_fazerpergunta = horto_fazerperguntaResposta.idproduto_fazerperguntaResposta WHERE horto_fazerpergunta.idproduto_fazerpergunta = '$busca'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, se você selecionou dois bancos de dados, você deve definir um parâmetro no WHERE para os dois, sempre limitando o retorno deles.

 

No caso, se você tiver dois registros em uma tabela, e dois em outra... MAS você só utiliza parâmetros para uma.

 

EX:

 

2 linhas da tabela1 , FILTRADAS, retornam apenas um registro

2 linhas da tabela2 , sem filtrar, retorna os dois registros.

 

ASSIM, como a tabela2 te retorna dois registros, a tabela1 repete o seu registro duas vezes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os dois geito ai não deu certo esta repetindo ....

 

e esse Renato como e "você deve definir um parâmetro no WHERE para os dois!!!"

 

fiz asim troquei nome dos dois campo da where para idproduto

 

fiz asim o select

 

$qr = "SELECT * FROM horto_fazerpergunta,horto_fazerperguntaResposta WHERE idproduto = '$busca' ORDER BY horariodia_fazerpergunta DESC ";

 

mais agora não aparece nada nem erro ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez seja assim??

 

SELECT * FROM horto_fazerpergunta,horto_fazerperguntaResposta  WHERE idproduto_fazerpergunta = '$busca' OR idproduto_fazerperguntaResposta = '$busca' ORDER BY horariodia_fazerpergunta DESC

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso aqui brow

SELECT
	*
FROM
	horto_fazerpergunta AS fp, horto_fazerperguntaResposta AS fr
WHERE
	fp.idproduto_fazerpergunta = '$busca'
AND
	fr.idproduto_fazerperguntaRespota = fp.idproduto_fazerpergunta
ORDER By
	fp.horariodia_fazerpergunta
DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra coisinha!

//banco de dados pergunta 
  $horariodia_fazerpergunta = "$registro[fp.horariodia_fazerpergunta]";
  $pergunta_fazerpergunta = "$registro[fp.pergunta_fazerpergunta]";
  $compara_fazerpergunta = "$registro[fp.compara_fazerpergunta]";
  $id_fazerpergunta = "$registro[fp.id_fazerpergunta]";
//banco de dados resposta 
  $nomevendedor = "$registro[fr.nome_fazerperguntaResposta]";
  $respostavendedor = "$registro[fr.resposta_fazerperguntaResposta]";
  $idpergunta = "$registro[fr.idpergunta_fazerperguntaResposta]";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Detones deu erro ...

 

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting ']' in on line 652

 

essa linha

 

$horariodia_fazerpergunta = "$registro[fp.horariodia_fazerpergunta]";

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz asim deu certo ...

 

//banco de dados pergunta

$horariodia_fazerpergunta = $registro['fp.horariodia_fazerpergunta'];

$pergunta_fazerpergunta = $registro['fp.pergunta_fazerpergunta'];

$id_fazerpergunta = $registro['fp.id_fazerpergunta'];

//banco de dados resposta

$nomevendedor = $registro['fr.nome_fazerperguntaResposta'];

$respostavendedor = $registro['fr.resposta_fazerperguntaResposta'];

$idpergunta = $registro['fr.idpergunta_fazerperguntaResposta'];

 

mais agora esta dando erro no select ...

 

erro

 

Coluna 'fr.idproduto_fazerperguntaRespota' desconhecida em 'where clause'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso a possibilidade seria que não existisse o campo na tabela! Não vejo outro motivo!

 

Qualquer coisa posta ae, ah posta o codigo ai denovo pra ver no geral atualmente se tem algo que da pra fazer!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Logico que não aff.

 

você fez o código colocou fr na frente ...

 

isso e o erro ....

 

 

esse select esta tudo errado ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

heehehe ok! Tiro meu time de campo! Boa sorte com o problema ai!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o modo como você está pedindo "ajuda" não parece muito "amigável"

 

está passando uma má impressão.

 

não sei se você percebeu no comentário do DeToneS.

 

Num dos seus posts ficou parecendo que você o ofendeu, sendo que ele tentou ajudar com vários posts.

 

Explique de modo simples o que você realmente quer fazer e como está fazendo e também avalie o modo como escreve para não causar confusão.

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.