Como limitar a exibição de posts?

17/09/2014

Olá, na minha index estou com um sistema de postagens e eu quero fazer algo diferente meu código está exibindo todos os posts do sistema :( e eu queria que fosse exibido 10 artigos por exemplo.
segue meu código.

<?php

		$posts = DBRead('posts', "WHERE status = 1 ORDER BY id DESC");
		
		if( !$posts)
			echo '<h2>Ops... Não temos nenhum post publicado ainda!</h2>';
		else
			foreach( $posts as $post ):

		?>


eu preciso fazer alguma alteração?

PHP

Cleyton Caetano

Respostas

17/09/2014

William (devwilliam)

Comando para o MySQL, usando 'LIMIT':

SELECT CAMPOS FROM TABELA LIMIT 10
Responder Citar

17/09/2014

Ronaldo Lanhellas

Você pode usar o LIMIT que o William citou ou pode colocar direto no código um contador que vá de 1 até 10, mostrando apenas as 10 primeiras notícias.
Responder Citar

18/09/2014

Cleyton Caetano

Você pode usar o LIMIT que o William citou ou pode colocar direto no código um contador que vá de 1 até 10, mostrando apenas as 10 primeiras notícias.


Então, tentei fazer um teste com o LIMIT e não deu certo o código ficou assim!

<?php
			
			

			$posts = DBRead('posts', "WHERE status = 1 ORDER BY visitas DESC LIMIT 3");
		
			if( !$posts)
				echo '<h2>Ops... Não temos nenhum post publicado ainda!</h2>';
			else
				foreach( $posts as $post ):

			?>


E quanto a contagem foi a primeira coisa que pensei..

<?php for( $i = 1; $i <= 4; $i++ ): ?>


<?php endfor; ?>


esse foi o código que user pra fazer o loop pra encher minha página! agora não consigo implementar ele no meu código acima :(
Responder Citar

18/09/2014

Cleyton Caetano

Pessoal, consegui resolver o bendito problema :D foi só usando o LIMIT mesmo, atualizei aqui e funcionou! acho que era o cache do navegador que estava me encabulando kkk limpei ele e deu certo :D obrigada a todos :D
Responder Citar

18/09/2014

William (devwilliam)

Cleyton o 'LIMIT' é um comando muito usado, inclusive é utilizado para paginação de registros, deve ter outro problema no seu código!
Responder Citar

18/09/2014

Cleyton Caetano

Cleyton o 'LIMIT' é um comando muito usado, inclusive é utilizado para paginação de registros, deve ter outro problema no seu código!


O LIMIT funcionou só limpei o cache do navegador e funcionou corretamente :D


COMO FICOU MEU CÓDIGO
			<?php
			
			

			$posts = DBRead('posts', "WHERE status = 1 ORDER BY visitas DESC LIMIT 5");
		
			if( !$posts)
				echo '<h2>Ops... Não temos nenhum post publicado ainda!</h2>';
			else
				foreach( $posts as $post ):

			?>
Responder Citar

18/09/2014

Ronaldo Lanhellas

De fato o LIMIT é a melhor solução visto que evita trazer registros desnecessários do banco. A solução do contador é boa quando você vai precisar usar o restante dos registros em outro local, ai você não precisa refazer o SELECT.
Responder Citar

18/09/2014

Cleyton Caetano

De fato o LIMIT é a melhor solução visto que evita trazer registros desnecessários do banco. A solução do contador é boa quando você vai precisar usar o restante dos registros em outro local, ai você não precisa refazer o SELECT.


verdade, mas eu fiquei confuso porque no sistema que eu usei tenho duas variáveis

 foreach( $posts as $post ):


e neste exemplo é feito a contagem só com uma variável.

<?php for( $i = 1; $i <= 4; $i++ ): ?>


e ainda estou tentando entender como seria esta contagem no meu código, não vou usa-la mais queria saber como funciona :D
Responder Citar