antiblock
Cyphriun
  • Chatbox

    You don't have permission to chat.
    Load More
Sign in to follow this  
Dynamic Things

Erro a carregar dados da Base de dados [PHP+MySQLi]

10 posts in this topic

Boas Comunidade, tenho andado a trabalhar num site desenvolvido em (HTML5, JS, CSS3, PHP7.1 e MySQLi) tenho uma duvida/problema que aparentemente está tudo correcto mas no entanto não funciona, venho partilhar o código com o resto da comunidade para ver se alguém consegue identificar o erro que não tenho conseguido identificar.

 

/* Num ficheiro a parte/ variaveis.inc.php */
$galeria = mysqli_query($MySQL, "SELECT * FROM `galeria` ORDER BY data DESC LIMIT 6");

/* Na pagina onde o codigo gerado ira ser mostrado */
<?php include './sistemas/galeria.php'; ?>

/* Na pagina chamado pelo codigo anterior "galeria.php" */
<div class="classe1"></div>
	<h2 class="classe2 h3"><span><span class="classe3">Galeria</span> de Fotos</span></h2>
		<div class="classe1"></div>
			<div class="classe4">
				<div class="classe5">
					<?php
							while ($row=mysqli_fetch_array($galeria)){
							
							$titulo = $row[1];
							$desc = $row[2];
							$img = $row[3];
							$img_thumb = $row[4];
							
							echo '<div class="classe6">
									<div class="classe7">
										<a href="'.$img_thumb.'" class="classe8" data-size="1188x594">
											<div class="classe9"><span class="classe10"></span></div>
											<img src="'.$img.'" alt="'.$titulo.'">
										</a>
										<div class="classe11">
											<h4>'.$titulo.'</h4>
											'.$desc.'
										</div>
									</div>
								</div>';
						}
					?>
	</div>
</div>

Print da tabela galeria

F05rOe6.png

 

Aparentemente está tudo bem, só que o resultado do código gerado é:

zivz9ia.png

 

Toda ajuda é bem-vinda, desde que as respostas dadas sejam bem elaboradas e com um objectivo claro de ajudar em relação ao assunto representado neste tópico.

Dispenso outros tipos de comentários que não venha a acrescentar algo de útil ao tópico (excepto em caso de haver membros com a mesma duvida e que queiram aproveitar o tópico para tirar as suas duvidas.)

 

Cumprimentos, Dynamic Things

 

Share this post


Link to post
Share on other sites
antiblock
https://i.imgur.com/aJ17bf7.gif
<?php
/* Num ficheiro a parte/ variaveis.inc.php */
$galeria = mysqli_query($MySQL, "SELECT * FROM galeria ORDER BY data DESC LIMIT 6");

/* Na pagina onde o codigo gerado ira ser mostrado */
include './sistemas/galeria.php';

/* Na pagina chamado pelo codigo anterior "galeria.php" */
 ?>
<div class="classe1"></div>
	<h2 class="classe2 h3"><span><span class="classe3">Galeria</span> de Fotos</span></h2>
		<div class="classe1"></div>
			<div class="classe4">
				<div class="classe5">
					<?php
							while ($row=mysqli_fetch_array($galeria)){
							
							$titulo = $row['titulo'];
							$desc = $row['desc'];
							$img = $row['img'];
							$img_thumb = $row['img_thumb'];
							
							echo '<div class="classe6">
									<div class="classe7">
										<a href="'.$img_thumb.'" class="classe8" data-size="1188x594">
											<div class="classe9"><span class="classe10"></span></div>
											<img src="'.$img.'" alt="'.$titulo.'">
										</a>
										<div class="classe11">
											<h4>'.$titulo.'</h4>
											'.$desc.'
										</div>
									</div>
								</div>';
						}
					?>
	</div>
</div>

Experimenta assim.

Share this post


Link to post
Share on other sites

Já agora, acho que deverias usar outro nome nas classes, algo que diga "onde fica".
Class1
Class2
Class3

...

...

Depois para editar no CSS é complicado porque precisas de estar sempre a ir ao código, ver qual a class e ir ao CSS outra vez.
Só uma critica. xD

Share this post


Link to post
Share on other sites

No ficheiro à parte:
$galeria = "SELECT * FROM `galeria` ORDER BY data DESC LIMIT 6"

 

 

No ficheiro principal:
$data = mysqli_query($galeria);

 

if (mysqli_num_rows($data) > 0) {
    while ($row = mysqli_fetch_assoc($data)) {
        echo $row['titulo'];
    }
}

 

 

Se não funcionar e o projecto ainda for pequeno (quer funcione ou não), deverias começar por aprender frameworks como Laravel, simplificam-te o trabalho todo a custo zero.

Share this post


Link to post
Share on other sites
2 horas atrás, Kajo disse:

Já agora, acho que deverias usar outro nome nas classes, algo que diga "onde fica".
Class1
Class2
Class3

...

...

Depois para editar no CSS é complicado porque precisas de estar sempre a ir ao código, ver qual a class e ir ao CSS outra vez.
Só uma critica. xD

Nome das classes foram reescritas de aproposito para o tópico.

38 minutos atrás, Cσяvσ⋆ disse:

No ficheiro à parte:
$galeria = "SELECT * FROM `galeria` ORDER BY data DESC LIMIT 6"

 

 

No ficheiro principal:
$data = mysqli_query($galeria);

 

if (mysqli_num_rows($data) > 0) {
    while ($row = mysqli_fetch_assoc($data)) {
        echo $row['titulo'];
    }
}

 

 

Se não funcionar e o projecto ainda for pequeno (quer funcione ou não), deverias começar por aprender frameworks como Laravel, simplificam-te o trabalho todo a custo zero.

O resultado acabaria por ser o mesmo, visto que a variável que contém o resultado da query é chamada na pagina, uma vez que pagina já inclui a pagina das variáveis.

Share this post


Link to post
Share on other sites

Apenas mudei-te as funções para definição e request aos dados, deveria funcionar da maneira como te mandei.

 

Btw, já testaste se retomas dados sequer? Como fazer um somatório aos itens dentro da tabela para teste.

Share this post


Link to post
Share on other sites
1 hora atrás, Cσяvσ⋆ disse:

No ficheiro à parte:
$galeria = "SELECT * FROM `galeria` ORDER BY data DESC LIMIT 6"

 

 

No ficheiro principal:
$data = mysqli_query($galeria);

 

if (mysqli_num_rows($data) > 0) {
    while ($row = mysqli_fetch_assoc($data)) {
        echo $row['titulo'];
    }
}

 

 

Se não funcionar e o projecto ainda for pequeno (quer funcione ou não), deverias começar por aprender frameworks como Laravel, simplificam-te o trabalho todo a custo zero.

 

Ao ler isto pergunto-me:

 

Será que se alguém te disser que não se passa nada de errado com o computador, apesar de não ligar, a solução que arranjas é que o indivíduo troque a fonte de alimentação?

Quando provavelmente o motivo era por não estar devidamente ligado à tomada eléctrica ou por aquela tomada não receber energia?

 

Com isto quis dizer que, esse comentário foi mais que desnecessário sendo que o código dele não aparenta ter nada de errado, da mesma forma que analisarias um computador antes de tirar conclusões, deverias ter lido com atenção o código dele e chegado à conclusão de que o problema não é daí.

 

PS: Ligação à tomada eléctrica tida como metáfora para ligação à base de dados.

 

Cumprimentos

Share this post


Link to post
Share on other sites
23 minutos atrás, Moisés. disse:

 

Ao ler isto pergunto-me:

 

Será que se alguém te disser que não se passa nada de errado com o computador, apesar de não ligar, a solução que arranjas é que o indivíduo troque a fonte de alimentação?

Quando provavelmente o motivo era por não estar devidamente ligado à tomada eléctrica ou por aquela tomada não receber energia?

 

Com isto quis dizer que, esse comentário foi mais que desnecessário sendo que o código dele não aparenta ter nada de errado, da mesma forma que analisarias um computador antes de tirar conclusões, deverias ter lido com atenção o código dele e chegado à conclusão de que o problema não é daí.

 

PS: Ligação à tomada eléctrica tida como metáfora para ligação à base de dados.

 

Cumprimentos

 

Fui à procura de funções para retoma de dados por MySQLi diferentes das que ele utilizou, podendo ser problema de lá (don't judge, a experiência que tenho em raw php para ligações é quase inútil).

 

A minha outra resposta deverá ser a mais certa para o problema aqui referido, visto estar a retomar nenhuma row da tabela.

Share this post


Link to post
Share on other sites
9 minutos atrás, Cσяvσ⋆ disse:

 

Fui à procura de funções para retoma de dados por MySQLi diferentes das que ele utilizou, podendo ser problema de lá (don't judge, a experiência que tenho em raw php para ligações é quase inútil).

 

A minha outra resposta deverá ser a mais certa para o problema aqui referido, visto estar a retomar nenhuma row da tabela.

 

Não haveria necessidade de verificação da retoma de dados, pois se não lhe aparece nada com um código mais que funcional é mais do que óbvio que o problema reside na ligação à base de dados.

 

It's a dB connection error most likely.

Share this post


Link to post
Share on other sites

V4tvl5i.png

Tal como o Moisés disse o erro era na base de dados, utilizando o mesmo código que postei na abertura do tópico funciona perfeitamente, não tem nenhum erro com o código.

Este tópico pode ser fechado.

 

Cumprimentos, Dynamic Things

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this