Como usar tabelas HTML5 para saída SQL

A unidade básica de estrutura no SQL é chamado de mesa porque normalmente é exibido em um formato tabular. HTML5 também tem uma estrutura de tabela, o que é ideal para enviar dados SQL. ContactTable.php, exibe o contato informações dentro de uma tabela HTML.

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 nomes de campo. Aqui está o código:

image0.jpg
contact.php

? Lt; phptry {$ con = new PDO ( 'mysql: host = localhost-dbname = dbName "," user "," pwd ") - $ con-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION) - $ consulta = "SELECT * FROM contato" - // primeira passagem só fica a namesprint coluna "

N "- $ result = $ con-> query ($ query) - // retorna apenas a primeira linha (que só precisa de nomes de campo) $ row = $ result-> buscar -print (PDO :: FETCH_ASSOC)" N "($ row quanto $ field => $ value) -foreach {print" N "-} // foreachprint fim" N "- // segunda consulta obtém os dados de $ dados = $ con-> query ($ query) - $ data-> setFetchMode (PDO :: FETCH_ASSOC) -foreach ($ data quanto $ row) {print" N "($ row quanto $ name => $ value) -foreach {print" N "-} // campo final loopprint" N "-} // fim do registro loopprint"
$ field
$ value
N "-} catch (PDOException $ e) {echo 'ERROR:'. $ E-> getMessage () -} // fim tentar>?

Você pode estar confuso que uma tabela está a ser utilizado 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 mesas são bem quando usado para apresentar dados.

Este código é ainda muito semelhante ao programa de base contact.php. Extrai dados da base de dados exactamente da mesma forma. A principal diferença é a forma como nomes de campo são tratados. Os nomes de campo vai em cabeçalhos de tabela, e apenas os valores são impressos em cada linha. Para fazer este trabalho, siga estes passos:

  1. Criar uma conexão normal MySQL.

    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 dados a partir do banco de dados.

     $ Con = new PDO ( 'mysql: host = localhost-dbname = dbName "," user "," pwd ") - $ con-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION) -
  2. Determinar a 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.)

     $ Consulta = "SELECT * FROM contato" -
  3. 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 "-
  4. Fazer uma primeira passagem para extrair nomes de campo.

    Você está realmente indo para consultar o banco de dados duas vezes. Pela primeira vez, você quer simplesmente os nomes de campo, o que você vai usar para construir os cabeçalhos da tabela, por isso só precisa de uma linha.

     $ Result = $ con-> query ($ query) - // retorna apenas a primeira linha (que só precisa de nomes de campo) $ row = $ result-> fetch (PDO :: FETCH_ASSOC) -

    o buscar Método puxa o próximo registro disponível a partir do $ result variável. Você quer que os dados de registro em formato matriz associativa, por isso, passar a PDO :: FETCH_ASSOC constante para indicar isso.

  5. Imprimir os nomes de campo 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 nomes de campo.

     impressão "  N "($ row quanto $ field => $ value) -foreach {print" $ field N "-} // foreachprint fim"  N "-
  6. Faça uma segunda consulta.

    Agora execute novamente a consulta com o $ Con-> query () método. Desta vez, você está fazendo uma consulta normal, com vários resultados. Não se esqueça de definir o modo de busca de uma matriz associativa.

     // Segunda consulta obtém os dados $ data = $ con-> query ($ query) - $ data-> setFetchMode (PDO :: FETCH_ASSOC) -
  7. 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 ($ dados como $ row) {print "  N "($ row quanto $ name => $ value) -foreach {print" $ value N "-} // campo final loopprint"  N "-} // faz um loop registro final

menu