Fórum Whlie exibir mais de um resultado por laço #535037
20/10/2015
0
Galera, ainda sou novo.
Estou com um codigo php e preciso que o while em um mesmo laço exiba 6 resultados, isso é possível, caso sim, como? caso não, qual a solução ?
Segue codigo abaixo:
<?php
#########################################
$conexao = conectar();
$sql = "SELECT * FROM convenios LIMIT 6";
$stmt = $conexao->prepare($sql);
$stmt->execute();
while ($row = $stmt->fetch()) {
?>
<div class="item-convenios">
<div class="pull-left">
<img id="<?= $row['id'] ?>" height="" width="" src="data:imagemconvenio;base64,<?= $row['imagemconvenio'] ?>" />
<img id="<?= $row['id'] ?>" height="" width="" src="data:imagemconvenio;base64,<?= $row['imagemconvenio'] ?>" />
</div>
<div class="pull-left">
<img id="<?= $row['id'] ?>" height="" width="" src="data:imagemconvenio;base64,<?= $row['imagemconvenio'] ?>" />
<img id="<?= $row['id'] ?>" height="" width="" src="data:imagemconvenio;base64,<?= $row['imagemconvenio'] ?>" />
</div>
<div class="pull-left">
<img id="<?= $row['id'] ?>" height="" width="" src="data:imagemconvenio;base64,<?= $row['imagemconvenio'] ?>" />
<img id="<?= $row['id'] ?>" height="" width="" src="data:imagemconvenio;base64,<?= $row['imagemconvenio'] ?>" />
</div>
</div>
<?php
}
?>A ideia é que ele jogue 6 imagens diferentes nas divs em cada laço.
Igor Oliveira
Curtir tópico
+ 0Posts
20/10/2015
Jothaz
Qual o erro que retorna? Poste-o para facilitar a ajuda.
Qual o conteúdo do campo "imagemconvenio"?
Qual o HTML gerado?
Gostei + 0
20/10/2015
Igor Oliveira
Exemplo: no banco tenho cadastrado 12 imagens.
quando ele fizer o loop ele deve colocar uma imagem diferente em cada img. no caso 6 imagens,
faz novamente o loop e colocar + 6
Porém ele faz o loop, joga uma imagem 6 x. Em cada img ele joga a mesma imagem.
Depois ele faz o loop e joga a 2ª img 6x
e assim vai 12 vezes.
Gostei + 0
20/10/2015
Jothaz
Teste ai e veja o que acontece. Se der erro de sintaxe, me desculpe vai ter de consertar. kkk
<?php
#########################################
$conexao = conectar();
$sql = "SELECT * FROM convenios LIMIT 6";
$stmt = $conexao->prepare($sql);
$stmt->execute();
$contador = 0;
$quebrou = true;
while ($row = $stmt->fetch()) {
if ($quebrou) {
?>
<div class="item-convenios">
<?php
}
?>
<div class="pull-left">
<img id="<?= $row['id'] ?>" height="" width="" src="data:imagemconvenio;base64,<?= $row['imagemconvenio'] ?>" />
</div>
<?php if ($quebrou) {?>
</div>
<?php
$quebrou = false;
}
$contador = $contdor + 1;
if ($contador == 3)
{
$contador = 0
$quebrou = true;
}
}
?>
Na verdade não gosta e misturar o código PHP com o HTML, mas fazer-se-a o que?
Gostei + 0
20/10/2015
Igor Oliveira
Gostei + 0
20/10/2015
Jothaz
Tente entender a lógica que propus e tente ajustá-la.
E realmente o código que postei estava errado, teste assim:
<?php
#########################################
$conexao = conectar();
$sql = "SELECT * FROM convenios LIMIT 6";
$stmt = $conexao->prepare($sql);
$stmt->execute();
$contador = 0;
$quebrou = true;
while ($row = $stmt->fetch()) {
if ($quebrou) {
?>
<div class="item-convenios">
<?php
$quebrou = false;
}
?>
<div class="pull-left">
<img id="<?= $row['id'] ?>" height="" width="" src="data:imagemconvenio;base64,<?= $row['imagemconvenio'] ?>" />
</div>
<?php
$contador = $contdor + 1;
if ($contador == 3)
{
?>
</div>
<?php
$contador = 0
$quebrou = true;
}
}
?>
Teste e veja se roda.
Gostei + 0
20/10/2015
Igor Oliveira
Gostei + 0
20/10/2015
Jothaz
Não sei qual o resultado final que você deseja.
Não conheço a estrutura e conteúdo da sua tabela.
Então por mais que eu queira fica muito difícil.
Vou lhe sugerir uma outra abordagem.
Faça o While e criei um array com os caminhos da imagem:
while ($row = $stmt->fetch()) {
//Crie o array aqui, na web você vai achar centenas de exemplo de com fazer
//Coloque o conteúdo do campo camiho da imagem no array
}
Depois use o array para criar as div´s:
<div class="item-convenios"> <div class="pull-left"> <img id="<?= $row['id'] ?>" height="" width="" src="data:imagemconvenio;base64,<?= $row['seu_array[0]'] ?>" /> <img id="<?= $row['id'] ?>" height="" width="" src="data:imagemconvenio;base64,<?= $row['seu_array[1]'] ?>" /> </div> ===> coloque o resto de acordo com a necessidae </div>
Bom espero que lhe ajude e boa soete.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)