Exibir resultado de uma consulta em Colunas


(Wilson Junior) #1

Olá a todos…

Estou com um problema… Sou novo na programação php e estou tentando remodelar um codigo que encontrei na web com a finalidade de estudo…

É um pequeno sistema de noticias. Mas quando entro no sistema ele mostra as noticias em linhas e eu queria que ele mostrasse em colunas de no maximo 4 colunas… Quando preencher uma coluna ele vai para outra linha e assim por diante… Também preciso que seja mostrado somente 4 linhas com as noticias…

O codigo da pagina que mostra as noticias é esse abaixo, e mando o endereço do do fonte completo desse pequeno sistema…

O link esta aqui https://goo.gl/miziLn

Se puderem me ajudar…

<?php @header( 'Content-Type: text/html; charset=iso-8859-1' ); require_once 'database/mysql.php'; $db = new Mysql; ?>
<html>
<head>
	 <title>Noticias</title>	
	 <link href="css/home.css" rel="stylesheet">
	 
	 <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
	 
	 <link href="bootstrap/css/bootstrap-combined.min.css" rel="stylesheet">
	 <script src="bootstrap/js/bootstrap.min.js"></script>
</head>
<?php //$db->url = 'noticias.php'; $db->paginate(4); $db->query("select * from noticia order by noticia_id desc")->fetchAll(); if ($db->rows >= 1): $news = $db->data; foreach ($news as $new): $n = (object) $new; $n->noticia_content_cut = $db->cut($n->noticia_content, 50, '...'); //quantidade de palavras da noticia if ($n->noticia_foto == "" || strlen($n->noticia_foto) <= 1): $n->noticia_foto = "images/nopic.png"; else : $n->noticia_foto = "thumb.php?img=fotos/$n->noticia_foto"; endif;
				?>

	<div class="col-XS-6">
		
		<a  class="pull-left" href="noticia.php?id=<?= $n->noticia_id ?>">
						<img src="<?= $n->noticia_foto ?>" class="media-object img-polaroid" />
		</a>
		
	<div class="col-XS-12">
		<h4 class="media-left media-top">
		<?=$n->noticia_title ?></h4>

<?=$n->noticia_content_cut?> leia mais

	</div>
				
				
			<br>
		
				
				<hr/>
				<?
			endforeach;
			echo $db->link; 
		endif;
	?>
</div>


</body>

(Wallace Petrucci Neves) #2

Olá Wilson Junior. tudo bem?

Bom oque pode ser feito é uma jogada de contador dentro do seu foreach.

Exemplo :

$cont = 1; //inicia contador com 1;

foreach($new as $n) {
<?php if($cont == 1) ?>
<div class='row'> // Aqui ele vai adicionar a row, somente quando for 1

<div class='col-3'> 
Conteudo
</div>

<?php if($cont == 4): ?>
</div> // Fecha a div da ROW, depois de 4 laçadas (4 itens)
<?php $cont = 0; ?> // Zera o contador  
<?php endif; ?> // 
  <?php $cont++; ?> // Incrementa o contador, quando ele chegar no 4 emcima ele vai zerar, e vai voltar nessa linha para 1, assim adicionando uma outra ROW
}