Como escrever uma PHP página para ler a partir da tabela para o seu HTML5 e CSS3 site

A vantagem de usar uma abordagem baseada em dados para o seu site HTML5 e CSS3 é a escalabilidade. Se você decidir fazer uma mudança no modelo, você tem que mudar centenas de páginas. Se você usar os dados, você pode escrever um programa PHP que pode produzir qualquer página no sistema. Todos Esta página precisa é um parâmetro de número de página.

Com essa informação, pode consultar o sistema, extrair todas as informações necessárias para a página atual, em seguida, exibir a página. Aqui está o (simplificado) de código PHP para um sistema como:

CS CMS Básico? Lt; php // pega pageID desde a solicitação se possível $ pageID = filter_input (INPUT_POST, "pageID") - if ($ pageID == "") {$ pageID = 1-} // iftry end {// conectar ao banco de dados $ con = new PDO ( 'mysql: host = host-dbname = dbName "," user "," pwd ") - $ con-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION) - // lê a informação da página atual a partir do db $ stmt = $ con-> prepare ( "SELECT * FROM pageView ONDE pageID =?") - $ stmt-> execute (array ($ pageID)) - $ result = $ stmt-> fetchAll (PDO :: FETCH_ASSOC ) - // fazer variáveis ​​página com base no recordforeach atual ($ resultado como $ row) {if ($ row [ "block"] == "cabeça") {$ cabeça = $ row [ "título"] -} else if ($ row [ "block"] "menu" ==) {$ Menu = $ row [ "conteúdo"] -} else if ($ row [ "block"] == "content1") {$ c1Title = $ row [ "título"] - $ c1Text = $ row [ "conteúdo"] -} else if ($ row [ "block"] == "content2") {$ c2Title = $ row [ "título"] - $ c2Text = $ row [ "conteúdo"] -} else if ($ row [ "block"] == "rodapé") {$ footer = $ row [ "conteúdo"] -} // fim do if} // foreach final} catch (PDOException $ e) {echo "ERROR: '. $ E-> getMessage () -} // fim tentar>?
// Obtém pageID desde a solicitação se possível // note que este é um pedido GET, para a flexibilidade $ pageID = filter_input (INPUT_GET, "pageID") - if ($ pageID == "") {$ pageID = 1-} // fim E se

Os links do menu tudo vai chamar o mesmo programa, mas com uma diferente pageID:

  • um
  • dois
  • três
  • pergunta pageView para obter todos os dados para esta página.

    o pageView Vista foi concebido para dar-lhe tudo o que você precisa para construir uma página com uma consulta.

  • Fazer uma conexão de dados.

    Criar uma conexão padrão DOP ao banco de dados. Não se esqueça de configurar um manipulador de exceção e as constantes de erro apropriadas.

     try {// conectar ao banco de dados $ con = new PDO ( 'mysql: host = localhost-dbname = Haio' ", Haio", "Haio") - $ con-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION) - // OUTRAS CÓDIGO VAI AQUI} {echo 'ERROR:' catch (PDOException $ e). $ E-> getMessage () -} // fim tentar
  • Formar e executar a consulta.

    Use o mecanismo de comando preparado para construir uma declaração de que retornará todos os registros para a página atual. Executar a instrução e armazena todos os resultados em uma variável chamada $ resultados.

     // Lê a informação da página atual do db $ stmt = $ con-> prepare ( "SELECT * FROM PageView ONDE PageID =?") - $ Stmt-> execute (array ($ pageID)) - $ result = $ stmt-> fetchAll (PDO :: FETCH_ASSOC) - 

    Não basta interpolar o $ pageID variável para a consulta SQL. Fazê-lo seria abrir-se a ataques de injeção SQL. Use o mecanismo de preparar-execução para evitar este tipo de ataque.

  • Use a entrada para preencher variáveis ​​de página.

    Cada entrada contém dois campos: quadra e conteúdo. o quadra campo determina o tipo de conteúdo, ea conteúdo campo mostra o conteúdo está lá. Use esses dados para preencher as variáveis ​​usadas para criar a página:

     // Fazer variáveis ​​página com base no recordforeach atual ($ resultado como $ row) {if ($ row [ "block"] == "cabeça") {$ cabeça = $ row [ "título"] -} else if ($ row [ "block"] == "menu") {$ Menu = $ row [ "conteúdo"] -} else if ($ row [ "block"] == "content1") {$ c1Title = $ row [ "title "] - $ c1Text = $ row [" conteúdo "] -} else if ($ row [" block "] ==" content2 ") {$ c2Title = $ row [" título "] - $ c2Text = $ row [" content "] -} else if ($ row [" block "] ==" rodapé ") {$ footer = $ row [" conteúdo "] -} // fim do if} // foreach final
  • Escrever para fora da página.

    Volte para HTML e gerar a página, pulando em PHP para imprimir as variáveis ​​necessárias.

     
  • menu