Array
(
)

Como limitar a exibição de posts?

PHP
Cleyton Caetano
   - 17 set 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.
#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?

William (devwilliam)
   - 17 set 2014

Comando para o MySQL, usando 'LIMIT':

#Código

SELECT CAMPOS FROM TABELA LIMIT 10

Ronaldo Lanhellas
   - 17 set 2014

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.

Cleyton Caetano
   - 18 set 2014


Citação:
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!

#Código

<?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..

#Código
<?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 :(

Cleyton Caetano
   - 18 set 2014

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

William (devwilliam)
   - 18 set 2014

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

Cleyton Caetano
   - 18 set 2014


Citação:
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
#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 ):

			?>

Ronaldo Lanhellas
   - 18 set 2014

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.

Cleyton Caetano
   - 18 set 2014


Citação:
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

#Código

 foreach( $posts as $post ):


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

#Código
<?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