Dynamic Things 965 Posted March 27, 2017 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 Aparentemente está tudo bem, só que o resultado do código gerado é: 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 1 kami4001 reacted to this Share this post Link to post Share on other sites
Kajo ✌ 57 Posted March 27, 2017 <?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
Kajo ✌ 57 Posted March 27, 2017 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
Cσяvσ⋆ 1,804 Posted March 27, 2017 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
Dynamic Things 965 Posted March 27, 2017 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. 1 kami4001 reacted to this Share this post Link to post Share on other sites
Cσяvσ⋆ 1,804 Posted March 27, 2017 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
VMP. 202 Posted March 27, 2017 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
Cσяvσ⋆ 1,804 Posted March 27, 2017 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
VMP. 202 Posted March 27, 2017 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
Dynamic Things 965 Posted March 27, 2017 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 1 kami4001 reacted to this Share this post Link to post Share on other sites