Como usar tabelas html5 para saída sql
A unidade básica de estrutura no SQL é chamado de mesa
Conteúdo
As tabelas são uma forma muito comum de resultados SQL saída. Há uma grande diferença entre a saída de mesa e a versão básica de uma tabela. Em uma tabela, você tem uma linha separada que contém os nomes de campo. Aqui está o código:
contact.php ? Lt; phptry {$ con = new PDO ( `mysql: host = localhost-dbname = dbName`, "do utilizador", "pwd"ERRMODE_EXCEPTION setAttribute (PDO :: ATTR_ERRMODE, PDO ::) - $ query =; $ con-gt -) "* SELECT FROM contato"- // primeira passagem só fica a namesprint coluna "
$ field | n"-} // foreachprint final "
---|
$ value | n"-} // loopprint campo final "
Você pode estar confuso que uma tabela está sendo usado aqui. As tabelas não são maus: Eles simplesmente não são projetados para ser um mecanismo de layout de página. Tabelas, no entanto, estamos projetado para exibir dados tabulares, e o resultado de uma consulta de dados é praticamente a definição de dados tabulares. Você pode (e deve) ainda usam CSS para obter detalhes específicos de layout da tabela. As tabelas são excelentes quando utilizado para apresentar os dados.
Este código é ainda muito semelhante ao programa básico contact.php. Ele extrai dados do banco de dados exatamente da mesma maneira. A principal diferença é a forma como os nomes de campo são tratados. Os nomes dos campos vai em títulos de tabela, e apenas os valores são impressos a partir de cada linha. Para fazer este trabalho, siga estes passos:
Criar uma conexão normal MySQL.
Video: Curso de HTML5 - 19 - Tabelas em HTML - by Gustavo Guanabara
Comece com a conexão padrão. Não se preocupe com a formatação até que você esteja razoavelmente certo de que você pode ler os dados do banco de dados.
$ Con = new PDO ( `mysql: host = localhost-dbname = dbName`, "do utilizador", "pwd") - $ con-gt; setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION) -
Determine sua consulta.
Criar uma consulta que irá produzir uma tabela, visão ou resultado de pesquisa. Armazená-lo em uma variável para que você possa usá-lo. (Você vai usar a mesma consulta duas vezes neste exercício.)
$ Query = "* SELECT FROM contato"-
imprimir o mesa tag antes de extrair nenhum resultado.
Todos os dados da consulta será exibido dentro da mesa, para imprimir o mesa tag antes de começar a imprimir qualquer coisa que deve ir dentro da tabela.
impressão "
n"-
Faça um primeiro passe para extrair os nomes de campo.
Video: Tutorial - tabela HTML com colspan e rowspan
Você está realmente indo para consultar o banco de dados duas vezes. Pela primeira vez, você simplesmente quer os nomes dos campos, o que você vai usar para construir os cabeçalhos da tabela, por isso só precisa de uma linha.
$ Result = $ con-gt; query ($ query) - // retorna apenas a primeira linha (que só precisa de nomes de campo) $ row = $ result-gt; fetch (PDO :: FETCH_ASSOC) -
o buscar método puxa a próxima ficha disponível a partir da $ result variável. Você deseja os dados do registro em formato de matriz associativa, para que passe a PDO :: FETCH_ASSOC constante para indicar isso.
Imprimir os nomes dos campos como cabeçalhos de tabela.
Agora que você tem um único registro, percorrer esse registro como uma matriz associativa e usar o $ field valores para imprimir os nomes de campo.
impressão "
n"-foreach ($ row quanto $ field = gt; $ value) {print " n"-$ field n"-} // foreachprint final "Faça uma segunda consulta.
Agora execute novamente a consulta com o $ Con-gt; query () método. Desta vez, você está fazendo uma consulta comum, com múltiplos resultados. Não se esqueça de definir o modo de busca de uma matriz associativa.
// segunda consulta obtém os dados $ data = $ con-gt; query ($ query) - $ data-gt; setFetchMode (PDO :: FETCH_ASSOC) -
Use loops aninhados para imprimir elementos de dados.
Use o truque nested-loops de ordinária para imprimir todos os elementos de dados com cada registro ocupando uma linha da tabela HTML.
foreach ($ data como $ row) {print "
n"-foreach ($ row quanto $ name = gt; $ value) {print " n"-} // faz um loop registro final$ value n"-} // loopprint campo final "