1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Como fazer aparecer apenas os 5 ultimos ?

Discussão em 'Web Development' iniciada por joaopj, 30 de Agosto de 2007. (Respostas: 6; Visualizações: 756)

  1. joaopj

    joaopj Power Member

    Olá,
    eu tenho um file que vai buscar conteúdo a uma base de dados, e exprime-o.
    O código abaixo mostra tudo o que tem na tabela "posts", e eu queria saber o que devo fazer para aparecer apenas os ultimos 5 posts ordenados para começar pelo ultimo a ser postado até ao mais antigo.

    Aqui está o file:
    PHP:
    <?php
    $file 
    $SERVER["DOCUMENT_ROOT"]."includes/blog.db";
    $db = new SQLiteDatabase($file) or die("Não foi possivel abrir a base de dados");
    $query "SELECT * FROM posts";
    $result $db->query($query) or die("Erro na query");

    if (
    $result->numRows() > 0) {
        while(
    $row $result->fetch()) {
            print 
    '<div class="item"><h4><a href="?p=blog&amp;post='.$row[0].'">'.$row[1].'</a></h4><p>'.$row[2].'</p><p style="font-size:80%">'.$row[3].'</p></div><br class="c1" />';
        }
    }
    unset(
    $db);
    ?>
    Obrigado
     
    Última edição: 30 de Agosto de 2007
  2. Chob

    Chob 1st Folding then Sex

    Boaz, não sou um PHP expert mas penso que com qualquer coisa neste estilo safaste



    PHP:
    $query=("SELECT * FROM posts ORDER BY variavel_com_autoincrement");
    Para pores os 5 Primeiros é qualquer coisa como usares um FOR com um contador lá dentro ( $J)


    PHP:
    $j=0;
    if (
    $result->numRows() > 0) {
        while(
    $row $result->fetch()) {

    for (
    $i=1$i<=5$i++)
    {
      

            print 
    '<div class="item"><h4><a href="?p=blog&amp;post='.$row[0].'">'.$row[1].'</a></h4><p>'.$row[2].'</p><p style="font-size:80%">'.$row[3].'</p></div><br class="c1" />';
    $j=$j+1

    if ($j==5)
      {
     
    //PRECISA DE SER COMPLETO
      
    }
      }  }
    }
    Sinceramente não faço a minima do que colocar ali no comment para saltar o For...

    Espero que valha de algo
     
  3. karva

    karva Power Member

    Hey.

    Usa esta query:

    SELECT * FROM posts ORDER BY data DESC LIMIT 5

    onde data é a data/hora em que o post foi feito.
     
  4. joaopj

    joaopj Power Member

    Muito obrigado :D
    Está quase tudo pronto...
    É pena que não vou ter tempo para testar agora porque tenho escola daqui a 53 minutos mas mais tarde vou testar e se tiver mais dúvidas pergunto...
    Obrigado.
     
  5. Inoculado

    Inoculado Power Member

    aconselhava te a leres um pouco de sql ,vais ver essas duvidas todas ultrapassadas ,

    To limit the amount of data returned

    Select the last five registered users

    SELECT * FROM users ORDER BY
    registration_date DESC LIMIT 5;
     
  6. Chob

    Chob 1st Folding then Sex


    Ou isso tambem dá xD
     
  7. joaopj

    joaopj Power Member

    Eu li um bocado de artigos relacionados a SQL, incluindo toda a introdução que está no site das W3C Schools... Isso ajudou-me bastante... Mas secalhar aquela parte escapou-me...

    Consegui acabar tudo !! :D
    Aqui está o meu blog: http://joaojeronimo.freehostia.com/?p=blog

    Obrigado a todos vocês :)
    Se não fosse a techzone há várias coisas lá que não teriam sido feitas...
     

Partilhar esta Página