Ir para conteúdo
Fórum Script Brasil
  • 0

Tabela fixa e registros dinâmicos


(!_Odisséa_!)

Pergunta

Bom dia a todos,

Eu quero fazer uma tabela com 4 colunas e 3 linhas, e gostaria de imprimir os resultados de uma consulta a um banco de dados. Mas o problema é que ainda não consegui achar a lógica e os códigos adequados pra fazer isso.

Eu preciso de uma ajuda de vocês para saber como eu consigo colocar esses resultados dentro da tabela, vou ser mais claro no que quero. Eu obrigatoriamente preciso ter uma tabela com 4 colunas e 3 linhas, ou seja 12 resultados, se a consulta ao banco tiver 8 registros terei as duas primeiras linhas com os resultados, ou seja, 8 células preenchidas e a última linha vazia, ou seja, 3 células vazias (mas elas precisam estar lá).

Eu estpou tentando fazer da seguinte forma: eu fiz uma tabela 4x3 em HTML e ai precisaria saber qual o código em PHP que consegue ir colocando os resultados dentro desta tabela, ou seja, o primeiro resultado vai na célula 1, o segundo vai na célula 2, e assim por diante, até no máximo 12 resultados que depois vou fazer uma paginação.

Qualquer ajuda será muito bem vinda.

Obrigado

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olá, Odisséia.

Você não pode informar como são essas 12 opções e, dentro do BD como você quer buscar?

Exemplo:

CidadeNome - CidadeCod - CidadeEstado - CidadeCodIbege

Nesse exemplo você pode buscar a linha acima de várias formas diferentes:

Exemplo: WHERE CidadeNome =$a1; ou ainda

CidadeCod =$cod; ou Ainda

CiadadeCodIBEGE= $ibege;

E várias outras soluções.

Esclareça um pouco mais suas necessidades.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Endor, obrigado pela atenção.

Essa tabela deverá mostrar as categorias de produtos que existem em um banco de dados, por exemplo: No banco de dados eu tenho as seguintes categorias:

- Acessórios;

- Estabilizadores;

- Impressoras;

- Mouses;

- Notebooks;

- Teclado.

Ai eu queria que na tabela aparecesse:

Acessórios | Estabilizadores | Impressoras | Mouses

Notebooks | Teclado | ... | ...

| | |

porque que eu preciso que as células vazias apareçam, pois ela faz parte do layout. E eu quero colocar algo dinâmico, pois se eu preciso criar mais uma categoria no banco, não tenho que ficar mexendo manualmente nesta página e nas outras que terão a mesma tabela, mas com outras categorias.

Deu pra entender?

Valeu

Link para o comentário
Compartilhar em outros sites

  • 0

Deu um pouco de trabalho mas consegui rsrs

ps: criei uma tabela chamada categorias que contém apenas 1 campo chamado descricao para testar...

<?php

    // Faz conexão com o banco
    mysql_connect('localhost', 'root', '') or die(mysql_error());
    mysql_select_db('teste') or die(mysql_error());
    
    // Executa consulta
    $sql = "SELECT descricao FROM categorias";
    $rs = mysql_query($sql) or die(mysql_error());

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
        <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
        <title>Teste</title>
    </head>
    
    <body>
        <table border='1' cellpadding='5' style='border-collapse:collapse;'>
        <?php
            // Imprime as linhas e colunas da tabela
            for($x=0; $x<12; $x++){
                // Limpa o código que tiver na variável
                $html = '';
                
                // Verifica se é a terceira coluna (se o resto da divisão de x/3 for 0 é porque é a 3ª coluna)
                if($x%3==0){
                    $y=-1;
                    $html = "<tr>";
                }
                
                // Conta quantas colunas já foi impressa para poder fechar a tag <tr> (final da linha)
                $y = ($y!=-1)?$y+1:$y;
                
                // Coloca os dados na coluna
                $dados = mysql_fetch_assoc($rs);
                $descricao = (isSet($dados['descricao']))?$dados['descricao']:'&nbsp;';
                $html .= "
                    <td>".$descricao."</td>
                ";
                
                // Verifica se já foram impressas 3 colunas para poder fechar a tag <tr>
                if($y==3){
                    $html .= "</tr>";
                }else{
                    // Se ainda não deu 3 colunas, incrementa y
                    $y++;
                }
                
                // Imprime a linha da tabela
                echo $html;
            }
        ?>
        </table>
    </body>
</html>

Editado por Stoma
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...