SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
PHP + MySQL: insert
Carlos Santos
LabMM 4 - NTC - DeCA - UA
Aula PHP+MySQL 03, 09-05-2012
inserção simples numa tabela

Para inserir um novo registo numa tabela:

  • criar um formulário com os campos necessários
  • se necessário, validar dados por javascript
  • submeter dados por POST
  • receber dados e, se necessário, voltar a validar
  • inserir dados na tabela da BD
php -> bd

Para inserir um novo registo numa tabela:

  • $qFami = "INSERT INTO Tabela (campo1, campo2, campo3)
    VALUES ('valor1', 'valor2', valor3)";




                   POST                  querystring(?)
      form.php              insert.php                    result.php
base para exemplos
inserir uma nova família - formFamilia.php

<html>
<body>
  <form action="insert_familia.php" method="post">
    Nome Família: <input type="text" name="nomeFamilia" />
    <input type="submit" />
  </form>
</body>
</html>

As chaves primárias com auto-incremento não são pedidas e não
precisam de um campo no formulário.
inserir uma nova família - insert_familia.php

$nomeFamilia = $_POST[“nomeFamilia”];
//Validação de dados de entrada em falta

$query="INSERT INTO Familia (nomeFamilia) VALUES
        ('$nomeFamilia')";

if (!mysql_query($query,$connection)) {
  // tratar condição de erro
} else {
  // o que fazer se correr bem?
}
feedback

Mostrar feedback na página de inserção

  • a utilizar com moderação na estrutura indicada anteriormente
  • tende a criar situações com um passo extra de navegação

Redirecionar para outra página automaticamente
  • página do próprio sítio web onde o utilizador pode continuar a navegar
    “normalmente”
     • header('Location: proxPagina.php');
  • a própria página do formulário de inserção permitindo adicionar mais
    elementos de um modo muito simples
  • feedback pode ser passado por querystring
php -> bd

Estas operações podem ser todas realizadas na mesma página!
  • no início testa se há dados por post: isset(...) (+ verificações de segurança)
  • se há dados faz a inserção e dá feedback
  • se não há dados mostra o formulário




                                          POST
                           form.php
inserir um novo mariachi - formMariachi.php

<html>
<body>
  <form action="insert_mariachi.php" method="post">
    Nome: <input type="text" name="nome" />
    Alcunha: <input type="text" name="alcunha" />
    Família: <input type="text" name="Familia_idFamilia" />
    <input type="submit" />
  </form>
</body>
</html>

Isto tem sentido?
inserir um novo mariachi - formMariachi.php

<html>
<body>
  <form action="insert_mariachi.php" method="post">
    Nome: <input type="text" name="nome" />
    Alcunha: <input type="text" name="alcunha" />
    Família: <input type="text" name="Familia_idFamilia" />
    <input type="submit" />
  </form>
</body>
</html>


                              Nunca se pede ao utilizador para inserir valores de
                                                   chaves!

                             Nos formulários, para as chaves estrangeiras de uma
                              tabela, têm que ser criados elementos de interação
                                                  adequados!
inserir um novo mariachi - formMariachi.php

<html>
<body>
  <form action="insert_mariachi.php" method="post">
    Nome: <input type="text" name="nome" />
    Alcunha: <input type="text" name="alcunha" />
    Família:
    <select name="Familia_idFamilia”>
       <option value="1">Menezes</option>
       <option value="2">Rodriguez</option>
       <option value="3">Costa</option>
    </select>
    <input type="submit" />
  </form>
</body>
</html>                              E os elementos de interação têm que ser
                                                dinâmicos porque a informação pode
                                                           mudar na BD!
drop down menu

Para adicionar um drop down menu num formulário é necessário:

  • criar um recordset com os valores das chave primária e respetivos labels
    para o drop down menu
  • num ciclo, adicionar todas as opção ao elemento do tipo select, sendo:
     • o value é o valor da chave primária
     • o texto é o label extraído da BD
inserir um novo mariachi - formMariachi.php

<?php
   $qFami = "SELECT * FROM Familia";
   $rsFami = mysql_query($qFami , $connection);
?>
<form action="insert_mariachi.php" method="post">
   Família:
   <select name="Familia_idFamilia”>
   <?php
      while ($row_rsFami = mysql_fetch_assoc($rsFami)){
        $option = ‘<option value=”‘
                  . $row_rsFami[“idFamilia"]
                  . ’”>’
                  . $row_rsFami[“nomeFamilia"]
                  . ‘</option>’;
        echo $option
      }
   ?>
   </select>
inserir um novo mariachi - formMariachi.php

<form action="insert_mariachi.php" method="post">
  Família:
  <select name="Familia_idFamilia”>
  <option value="0" selected>Escolha uma família</option>
  <?php
     while ($row_rsFami = mysql_fetch_assoc($rsFami)){
       $option = ‘<option value=”‘
                 . $row_rsFami[“idFamilia"]
                 . ’”>’
                 . $row_rsFami[“nomeFamilia"]
                 . ‘</option>’;
       echo $option
     }
  </select>
  ?>                                  Neste caso é obrigatório validar se o
                                               utilizador escolheu uma opção e nunca
                                                tentar inserir se isso não aconteceu!
inserir um novo mariachi

$nome = $_POST[“nome”];
$alcunha = $_POST[“alcunha”];
$Familia_idFamilia = $_POST[“Familia_idFamilia”];
//Validação de dados de entrada em falta

$query="INSERT
        INTO Mariachi (nome, alcunha, Familia_ifFamilia)
        VALUES ('$nome', '$alcunha', $Familia_idFamilia)";

if (!mysql_query($query,$connection)) {
  // tratar condição de erro
} else {
  // o que fazer se correr bem?
}
problemas com encoding?

na inserção na BD

  • utf8_encode($_POST['...'])

na visualização na página
  • utf8_decode($row_rs['...'])
E para inserir um novo relacionamento?
Inserção em tabelas de M:N

Regras a seguir

  • criar um recordset com elementos do lado M
  • criar um recordset com elementos do lado N
  • no formulário
     • utilizar esses recordsets para construir os drop down menus para cada
       uma das chaves estrageiras da tabela
Erros em PHP

Não é tão fácil de ver...

   • http://www.php.net/manual/en/function.error-reporting.php
   • error_reporting(E_ALL); //em desenvolvimento

Mais conteúdo relacionado

Mais procurados

Criando controle de acesso com php e my sql
Criando controle de acesso com php e my sqlCriando controle de acesso com php e my sql
Criando controle de acesso com php e my sqlPaulo Damas
 
modernizando a arquitertura de sua aplicação
modernizando a arquitertura  de sua aplicaçãomodernizando a arquitertura  de sua aplicação
modernizando a arquitertura de sua aplicaçãoAntonio Spinelli
 
PHPubSP Object Calisthenics aplicado ao PHP
PHPubSP Object Calisthenics aplicado ao PHPPHPubSP Object Calisthenics aplicado ao PHP
PHPubSP Object Calisthenics aplicado ao PHPGuilherme Blanco
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsGuilherme Blanco
 
Object Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesObject Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesOtávio Calaça Xavier
 
LabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQLLabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQLCarlos Santos
 
Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Carlos Santos
 
Tutorial de Uso do R Selenium
Tutorial de Uso do R Selenium Tutorial de Uso do R Selenium
Tutorial de Uso do R Selenium Daniel Marcelino
 
Hooks, o condimento mágico e escondido do WordPress
Hooks, o condimento mágico e escondido do WordPressHooks, o condimento mágico e escondido do WordPress
Hooks, o condimento mágico e escondido do WordPressZé Fontainhas
 
Minicurso Testando RESTful Web Services
Minicurso Testando RESTful Web ServicesMinicurso Testando RESTful Web Services
Minicurso Testando RESTful Web ServicesCharles Kilesse
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoFreedom DayMS
 
Além do Webdriver e Page Objects - Versão completa
Além do Webdriver e Page Objects - Versão completaAlém do Webdriver e Page Objects - Versão completa
Além do Webdriver e Page Objects - Versão completaCharles Kilesse
 
2009 05 20 Floripa Flex
2009 05 20 Floripa Flex2009 05 20 Floripa Flex
2009 05 20 Floripa FlexEduardo Kraus
 
Apostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteApostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteIlton Barbosa
 

Mais procurados (20)

Criando controle de acesso com php e my sql
Criando controle de acesso com php e my sqlCriando controle de acesso com php e my sql
Criando controle de acesso com php e my sql
 
modernizando a arquitertura de sua aplicação
modernizando a arquitertura  de sua aplicaçãomodernizando a arquitertura  de sua aplicação
modernizando a arquitertura de sua aplicação
 
PHPubSP Object Calisthenics aplicado ao PHP
PHPubSP Object Calisthenics aplicado ao PHPPHPubSP Object Calisthenics aplicado ao PHP
PHPubSP Object Calisthenics aplicado ao PHP
 
Php 08 Oo
Php 08 OoPhp 08 Oo
Php 08 Oo
 
PHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object CalisthenicsPHP para Adultos: Clean Code e Object Calisthenics
PHP para Adultos: Clean Code e Object Calisthenics
 
Object Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesObject Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simples
 
Java script aula 05 - funções
Java script   aula 05 - funçõesJava script   aula 05 - funções
Java script aula 05 - funções
 
LabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQLLabMM4 (T16 - 12/13) - PHP + MySQL
LabMM4 (T16 - 12/13) - PHP + MySQL
 
Java script aula 08 - formulários
Java script   aula 08 - formuláriosJava script   aula 08 - formulários
Java script aula 08 - formulários
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4Aula 01 PHP+MySQL - LabMM4
Aula 01 PHP+MySQL - LabMM4
 
Tutorial de Uso do R Selenium
Tutorial de Uso do R Selenium Tutorial de Uso do R Selenium
Tutorial de Uso do R Selenium
 
Hooks, o condimento mágico e escondido do WordPress
Hooks, o condimento mágico e escondido do WordPressHooks, o condimento mágico e escondido do WordPress
Hooks, o condimento mágico e escondido do WordPress
 
Aula 8 php
Aula 8 phpAula 8 php
Aula 8 php
 
Minicurso Testando RESTful Web Services
Minicurso Testando RESTful Web ServicesMinicurso Testando RESTful Web Services
Minicurso Testando RESTful Web Services
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com Django
 
Java script aula 02 - operadores
Java script   aula 02 - operadoresJava script   aula 02 - operadores
Java script aula 02 - operadores
 
Além do Webdriver e Page Objects - Versão completa
Além do Webdriver e Page Objects - Versão completaAlém do Webdriver e Page Objects - Versão completa
Além do Webdriver e Page Objects - Versão completa
 
2009 05 20 Floripa Flex
2009 05 20 Floripa Flex2009 05 20 Floripa Flex
2009 05 20 Floripa Flex
 
Apostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteApostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a Parte
 

Semelhante a PHP MySQL Aula 03

Aula 08 - Introdução ao banco de dados MySQL - Programação Web
Aula 08 - Introdução ao banco de dados MySQL - Programação WebAula 08 - Introdução ao banco de dados MySQL - Programação Web
Aula 08 - Introdução ao banco de dados MySQL - Programação WebDalton Martins
 
Aula 12 Relatório - Tabelas
Aula 12   Relatório - TabelasAula 12   Relatório - Tabelas
Aula 12 Relatório - TabelasDalton Martins
 
Aula 02 PHP+MySQL - LabMM4
Aula 02 PHP+MySQL - LabMM4 Aula 02 PHP+MySQL - LabMM4
Aula 02 PHP+MySQL - LabMM4 Carlos Santos
 
Aula 03 - Layout e Integração de formulário com HTML e PHP
Aula 03  - Layout e Integração de formulário com HTML e PHPAula 03  - Layout e Integração de formulário com HTML e PHP
Aula 03 - Layout e Integração de formulário com HTML e PHPDalton Martins
 
PHP robusto com Zend Framework
PHP robusto com Zend FrameworkPHP robusto com Zend Framework
PHP robusto com Zend FrameworkJaime Neto
 
LabMM4 (T17 - 12/13)
LabMM4 (T17 - 12/13)LabMM4 (T17 - 12/13)
LabMM4 (T17 - 12/13)Carlos Santos
 
Progweb Aula8
Progweb Aula8Progweb Aula8
Progweb Aula8softeam
 
13 Java Script - Validação de formulário
13 Java Script  - Validação de formulário13 Java Script  - Validação de formulário
13 Java Script - Validação de formulárioCentro Paula Souza
 
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...Ezequiel Bertti
 
Apresentação formação web - up marketing digital - módulo ii - 2º fds
Apresentação   formação web - up marketing digital - módulo ii - 2º fdsApresentação   formação web - up marketing digital - módulo ii - 2º fds
Apresentação formação web - up marketing digital - módulo ii - 2º fdsRangel Javier
 
Sistema de Login php.pptx
Sistema de Login php.pptxSistema de Login php.pptx
Sistema de Login php.pptxJosivaldoFrana1
 
JavaScript - #Aula02 - Desenvolvendo a Primeira Página com JS
JavaScript - #Aula02 - Desenvolvendo a Primeira Página com JSJavaScript - #Aula02 - Desenvolvendo a Primeira Página com JS
JavaScript - #Aula02 - Desenvolvendo a Primeira Página com JSErick L. F.
 
Introdução a Desenvolvimento Web
Introdução a Desenvolvimento WebIntrodução a Desenvolvimento Web
Introdução a Desenvolvimento WebPeslPinguim
 
Formulários Web em PHP com plug-ins avançados e AJAX
Formulários Web em PHP com plug-ins avançados e AJAXFormulários Web em PHP com plug-ins avançados e AJAX
Formulários Web em PHP com plug-ins avançados e AJAXManuel Lemos
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOLgrupoweblovers
 

Semelhante a PHP MySQL Aula 03 (20)

Sistema php
Sistema phpSistema php
Sistema php
 
Aula 08 - Introdução ao banco de dados MySQL - Programação Web
Aula 08 - Introdução ao banco de dados MySQL - Programação WebAula 08 - Introdução ao banco de dados MySQL - Programação Web
Aula 08 - Introdução ao banco de dados MySQL - Programação Web
 
Aula 5 php
Aula 5 phpAula 5 php
Aula 5 php
 
Aula 12 Relatório - Tabelas
Aula 12   Relatório - TabelasAula 12   Relatório - Tabelas
Aula 12 Relatório - Tabelas
 
Html - Aula 3
Html - Aula 3Html - Aula 3
Html - Aula 3
 
Formulário HTML
Formulário HTMLFormulário HTML
Formulário HTML
 
Aula 02 PHP+MySQL - LabMM4
Aula 02 PHP+MySQL - LabMM4 Aula 02 PHP+MySQL - LabMM4
Aula 02 PHP+MySQL - LabMM4
 
Aula 03 - Layout e Integração de formulário com HTML e PHP
Aula 03  - Layout e Integração de formulário com HTML e PHPAula 03  - Layout e Integração de formulário com HTML e PHP
Aula 03 - Layout e Integração de formulário com HTML e PHP
 
PHP robusto com Zend Framework
PHP robusto com Zend FrameworkPHP robusto com Zend Framework
PHP robusto com Zend Framework
 
LabMM4 (T17 - 12/13)
LabMM4 (T17 - 12/13)LabMM4 (T17 - 12/13)
LabMM4 (T17 - 12/13)
 
Progweb Aula8
Progweb Aula8Progweb Aula8
Progweb Aula8
 
13 Java Script - Validação de formulário
13 Java Script  - Validação de formulário13 Java Script  - Validação de formulário
13 Java Script - Validação de formulário
 
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
MIRA - Um framework Javascript para construção de interfaces adaptativas em a...
 
Apresentação formação web - up marketing digital - módulo ii - 2º fds
Apresentação   formação web - up marketing digital - módulo ii - 2º fdsApresentação   formação web - up marketing digital - módulo ii - 2º fds
Apresentação formação web - up marketing digital - módulo ii - 2º fds
 
Sistema de Login php.pptx
Sistema de Login php.pptxSistema de Login php.pptx
Sistema de Login php.pptx
 
JavaScript - #Aula02 - Desenvolvendo a Primeira Página com JS
JavaScript - #Aula02 - Desenvolvendo a Primeira Página com JSJavaScript - #Aula02 - Desenvolvendo a Primeira Página com JS
JavaScript - #Aula02 - Desenvolvendo a Primeira Página com JS
 
Introdução a Desenvolvimento Web
Introdução a Desenvolvimento WebIntrodução a Desenvolvimento Web
Introdução a Desenvolvimento Web
 
Formulários Web em PHP com plug-ins avançados e AJAX
Formulários Web em PHP com plug-ins avançados e AJAXFormulários Web em PHP com plug-ins avançados e AJAX
Formulários Web em PHP com plug-ins avançados e AJAX
 
PHP MySQL Aula 07
PHP MySQL Aula 07PHP MySQL Aula 07
PHP MySQL Aula 07
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOL
 

Mais de Carlos Santos

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?Carlos Santos
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesCarlos Santos
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEduCarlos Santos
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialCarlos Santos
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosCarlos Santos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosCarlos Santos
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Carlos Santos
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoCarlos Santos
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Carlos Santos
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentCarlos Santos
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusCarlos Santos
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectCarlos Santos
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoCarlos Santos
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCACarlos Santos
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidCarlos Santos
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoCarlos Santos
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)Carlos Santos
 

Mais de Carlos Santos (20)

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantes
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEdu
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicial
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho prático
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning Environment
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus project
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativo
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e Scoreoid
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
 
T18_LM3: Ajax
T18_LM3: AjaxT18_LM3: Ajax
T18_LM3: Ajax
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)
 

Último

Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoGentil Eronides
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......suporte24hcamin
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 

Último (20)

Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimento
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 

PHP MySQL Aula 03

  • 1. PHP + MySQL: insert Carlos Santos LabMM 4 - NTC - DeCA - UA Aula PHP+MySQL 03, 09-05-2012
  • 2. inserção simples numa tabela Para inserir um novo registo numa tabela: • criar um formulário com os campos necessários • se necessário, validar dados por javascript • submeter dados por POST • receber dados e, se necessário, voltar a validar • inserir dados na tabela da BD
  • 3. php -> bd Para inserir um novo registo numa tabela: • $qFami = "INSERT INTO Tabela (campo1, campo2, campo3) VALUES ('valor1', 'valor2', valor3)"; POST querystring(?) form.php insert.php result.php
  • 5. inserir uma nova família - formFamilia.php <html> <body> <form action="insert_familia.php" method="post"> Nome Família: <input type="text" name="nomeFamilia" /> <input type="submit" /> </form> </body> </html> As chaves primárias com auto-incremento não são pedidas e não precisam de um campo no formulário.
  • 6. inserir uma nova família - insert_familia.php $nomeFamilia = $_POST[“nomeFamilia”]; //Validação de dados de entrada em falta $query="INSERT INTO Familia (nomeFamilia) VALUES ('$nomeFamilia')"; if (!mysql_query($query,$connection)) { // tratar condição de erro } else { // o que fazer se correr bem? }
  • 7. feedback Mostrar feedback na página de inserção • a utilizar com moderação na estrutura indicada anteriormente • tende a criar situações com um passo extra de navegação Redirecionar para outra página automaticamente • página do próprio sítio web onde o utilizador pode continuar a navegar “normalmente” • header('Location: proxPagina.php'); • a própria página do formulário de inserção permitindo adicionar mais elementos de um modo muito simples • feedback pode ser passado por querystring
  • 8. php -> bd Estas operações podem ser todas realizadas na mesma página! • no início testa se há dados por post: isset(...) (+ verificações de segurança) • se há dados faz a inserção e dá feedback • se não há dados mostra o formulário POST form.php
  • 9. inserir um novo mariachi - formMariachi.php <html> <body> <form action="insert_mariachi.php" method="post"> Nome: <input type="text" name="nome" /> Alcunha: <input type="text" name="alcunha" /> Família: <input type="text" name="Familia_idFamilia" /> <input type="submit" /> </form> </body> </html> Isto tem sentido?
  • 10. inserir um novo mariachi - formMariachi.php <html> <body> <form action="insert_mariachi.php" method="post"> Nome: <input type="text" name="nome" /> Alcunha: <input type="text" name="alcunha" /> Família: <input type="text" name="Familia_idFamilia" /> <input type="submit" /> </form> </body> </html> Nunca se pede ao utilizador para inserir valores de chaves! Nos formulários, para as chaves estrangeiras de uma tabela, têm que ser criados elementos de interação adequados!
  • 11. inserir um novo mariachi - formMariachi.php <html> <body> <form action="insert_mariachi.php" method="post"> Nome: <input type="text" name="nome" /> Alcunha: <input type="text" name="alcunha" /> Família: <select name="Familia_idFamilia”> <option value="1">Menezes</option> <option value="2">Rodriguez</option> <option value="3">Costa</option> </select> <input type="submit" /> </form> </body> </html> E os elementos de interação têm que ser dinâmicos porque a informação pode mudar na BD!
  • 12. drop down menu Para adicionar um drop down menu num formulário é necessário: • criar um recordset com os valores das chave primária e respetivos labels para o drop down menu • num ciclo, adicionar todas as opção ao elemento do tipo select, sendo: • o value é o valor da chave primária • o texto é o label extraído da BD
  • 13. inserir um novo mariachi - formMariachi.php <?php $qFami = "SELECT * FROM Familia"; $rsFami = mysql_query($qFami , $connection); ?> <form action="insert_mariachi.php" method="post"> Família: <select name="Familia_idFamilia”> <?php while ($row_rsFami = mysql_fetch_assoc($rsFami)){ $option = ‘<option value=”‘ . $row_rsFami[“idFamilia"] . ’”>’ . $row_rsFami[“nomeFamilia"] . ‘</option>’; echo $option } ?> </select>
  • 14. inserir um novo mariachi - formMariachi.php <form action="insert_mariachi.php" method="post"> Família: <select name="Familia_idFamilia”> <option value="0" selected>Escolha uma família</option> <?php while ($row_rsFami = mysql_fetch_assoc($rsFami)){ $option = ‘<option value=”‘ . $row_rsFami[“idFamilia"] . ’”>’ . $row_rsFami[“nomeFamilia"] . ‘</option>’; echo $option } </select> ?> Neste caso é obrigatório validar se o utilizador escolheu uma opção e nunca tentar inserir se isso não aconteceu!
  • 15. inserir um novo mariachi $nome = $_POST[“nome”]; $alcunha = $_POST[“alcunha”]; $Familia_idFamilia = $_POST[“Familia_idFamilia”]; //Validação de dados de entrada em falta $query="INSERT INTO Mariachi (nome, alcunha, Familia_ifFamilia) VALUES ('$nome', '$alcunha', $Familia_idFamilia)"; if (!mysql_query($query,$connection)) { // tratar condição de erro } else { // o que fazer se correr bem? }
  • 16. problemas com encoding? na inserção na BD • utf8_encode($_POST['...']) na visualização na página • utf8_decode($row_rs['...'])
  • 17. E para inserir um novo relacionamento?
  • 18. Inserção em tabelas de M:N Regras a seguir • criar um recordset com elementos do lado M • criar um recordset com elementos do lado N • no formulário • utilizar esses recordsets para construir os drop down menus para cada uma das chaves estrageiras da tabela
  • 19. Erros em PHP Não é tão fácil de ver... • http://www.php.net/manual/en/function.error-reporting.php • error_reporting(E_ALL); //em desenvolvimento