Ir para conteúdo

POWERED BY:

Arquivado

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

JBrunoHD

while não recupera dados

Recommended Posts

Isso aconteceu desde q eu usei o .htaccess mas quando tirei este arquivo não voltou ao normal podem me ajudar?



<?php

require "includes/configuration.php";

require "includes/header.php";

?>

<html lang="pt-BR">
<meta charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="css/default.css">
<head>
</head>
<body>
<main>
<section id="content">
<section id="conteudo">
<?php include_once 'slide.php'; ?>
<section id="artigos">
<article>
<?php
$id_rn = isset($_GET["id"]);
$SQL_RN = mysql_query("SELECT * FROM noticias INNER JOIN categoria ON (noticias.categoria = categoria.id_categoria) WHERE id_noticia='$id_rn' ");

while($rn = mysql_fetch_array($SQL_RN)) {



?>
<p>[<?php echo $rn["nome_categoria"]; ?>]</p>
<h1><?php echo $rn["titulo"]; ?></h1></br></br>
<h2> Publicado por: <?php echo $rn["autorPub"]; ?> | <?php echo $dataEx; ?></h2>
<h3><?php echo $rn["conteudo"]; ?></h3>
<center><img src="galeria/artigos/001.jpg" alt="Trem Teste"/></center>
<?php } ?>
</article></br>
</section>
</section> <!-- conteudo -->
</section> <!-- content -->
<?php

require_once 'includes/footer.php';

?>
</body>

</html>


Compartilhar este post


Link para o post
Compartilhar em outros sites

Explique melhor sua dúvida. O que acontece? Dá erro? Qual?

 

Antes de executar de novo, habilite todos os erros, como mostrado aqui: http://forum.imasters.com.br/topic/375800-orientaes-para-uma-boa-participao/

 

Também rode a SQL direto no banco e veja se ela traz resultados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Explique melhor sua dúvida. O que acontece? Dá erro? Qual?

 

Antes de executar de novo, habilite todos os erros, como mostrado aqui: http://forum.imasters.com.br/topic/375800-orientaes-para-uma-boa-participao/

 

Também rode a SQL direto no banco e veja se ela traz resultados

 

Antes de por o .htacess aparecia todas as informações agora, não da erro, não aparece simplismente nada

era para aparecer na marcação preta em um quadrado branco quando da erro aparece o erro no section branco,

KvmFYn9.jpg

mas eu resolvi e não aparece simplismente nada.

 

OBS: SQL Direto não resultou em nada, não vejo erro no código, so pus o .htaccess com o código para tirar extensões ex .php .html. ae deu isso e eu retirei e ficou igual

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então é isso. Não há dados no banco, por isso não entre no while

ha dados no banco sim,

 

ZXGKxCs.png

caso ajude esse é o código do config(alem do slide ser ligado ao banco de dados e a conexão esta perfeita);

<?php

mysql_connect ('localhost', 'root', '123') or die("Erro no banco de dados, contate o administrador");
mysql_select_db ('teste') or die("Banco de dados desconhecido, contate o administrador");

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não vejo alteração no link da imagem, então oque mudou no htaccess?

Observação: Você nomeou o arquivo agora pouco como .htacess o certo seria com dois C .htaccess.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você disse que, ao rodar a SQL diretamente no banco, não há resultados. Então há algo errado no relacionamento das tabelas. Por isso não aparecem dados na tela.

 

O problema não é a conexão (só lembrando que mysql está obsoleto e é preferível usar mysqli ou PDO), é a query para fazer o SELECT.

 

Experimente fazer o SELECT apenas usando a tabela noticias, sem usar o JOIN com a tabela de categorias

Compartilhar este post


Link para o post
Compartilhar em outros sites

como posso usar o INNER JOIN sem dar este erro?

Veja este tutorial, para entender como relacionar tabelas

 

Mas antes faça o que sugeri: execute o SELECT sem o JOIN, para ver se o resultado aparece corretamente. Se aparecer, é porque o relacionamento está, de fato, errado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja este tutorial, para entender como relacionar tabelas

 

Mas antes faça o que sugeri: execute o SELECT sem o JOIN, para ver se o resultado aparece corretamente. Se aparecer, é porque o relacionamento está, de fato, errado

Sem o JOIN apareceu normalmente, já com ele não aparece nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem o JOIN apareceu normalmente, já com ele não aparece nada.

então o erro está no relacionamento entre as tabelas, mesmo.

 

Veja o link que mandei. Tente corrigir as chaves estrangeiras. Se não conseguir, poste aqui as estruturas das tabelas, que ajudamos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Observe que inner join obriga a existir um resultado relacionado na tabela que está sendo consultada, se existe a possibilidade de não existir este resultado no join você deve utilizar left join.

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.