O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

PHP e MySQL para iniciantes

11.288 visualizações

Publicada em

Exemplos básicos de utilização do MySQL e do PHP para iniciantes. Acesso a banco, consultas no banco, exemplos de funções básicas do php para mysql.

Publicada em: Tecnologia
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

PHP e MySQL para iniciantes

  1. 1. Módulo 3 PHP & MySQL Professor: Eduardo Mendes
  2. 2. Professor Eduardo Mendes edumendes@gmail.com Agenda •  Usando Banco de Dados •  Trabalhando com MySQL •  Linguagem SQL •  MySQL e PHP Conexões •  Criação de Consultas •  Seleção de Bancos •  Campos e Result Set •  Formatando o Conteúdo
  3. 3. Professor Eduardo Mendes edumendes@gmail.com Testando Configuração •  Iniciar o EasyPHP –  Iniciar  Programas  EasyPHP
  4. 4. Professor Eduardo Mendes edumendes@gmail.com Testando Configuração •  Executar algum browser (navegador) –  http://localhost
  5. 5. Professor Eduardo Mendes edumendes@gmail.com Testando Configuração •  Os arquivos serão salvos na pasta www do EasyPHP –  C:Arquivos de programasEasyPHP1-8www
  6. 6. Professor Eduardo Mendes edumendes@gmail.com MySQL
  7. 7. Professor Eduardo Mendes edumendes@gmail.com O programa mysql •  Iniciar EasyPHP •  C: •  cd Arquivos* •  cd Easy* •  cd mysql •  cd bin •  mysql –u root -p
  8. 8. Professor Eduardo Mendes edumendes@gmail.com mysql
  9. 9. Professor Eduardo Mendes edumendes@gmail.com Conceitos •  Linhas •  Registros •  Tabelas •  Campos •  Id
  10. 10. Professor Eduardo Mendes edumendes@gmail.com Tabela típica de dados: Agenda Telefônica
  11. 11. Professor Eduardo Mendes edumendes@gmail.com Cursos da FA7
  12. 12. Professor Eduardo Mendes edumendes@gmail.com
  13. 13. Professor Eduardo Mendes edumendes@gmail.com Criando um Banco de Dados CREATE DATABASE nomeDoBanco;
  14. 14. Professor Eduardo Mendes edumendes@gmail.com Usando um BD específico USE nomeDoBanco;
  15. 15. Professor Eduardo Mendes edumendes@gmail.com
  16. 16. Professor Eduardo Mendes edumendes@gmail.com No MySQL CREATE DATABASE modulo3; USE modulo3; CREATE TABLE agendaTelefonica ( id INT PRIMARY KEY, primeiroNome VARCHAR(15), sobreNome VARCHAR (15), email VARCHAR(20), telefone VARCHAR(15) ); DESCRIBE agendaTelefonica;
  17. 17. Professor Eduardo Mendes edumendes@gmail.com Inserindo Valores INSERT INTO agendaTelefonica VALUES( 0, ‘Eduardo', ‘Mendes', ‘eduardo@fa7.edu.br', '123567‘ );
  18. 18. Professor Eduardo Mendes edumendes@gmail.com Recuperando os dados •  Eu quero visualizar todos os registro de uma tabela SELECT * FROM nomeDaTabela;
  19. 19. Professor Eduardo Mendes edumendes@gmail.com No MySQL SELECT * FROM agendaTelefonica;
  20. 20. Professor Eduardo Mendes edumendes@gmail.com O programa mysql •  Iniciar EasyPHP •  C: •  cd Arquivos* •  cd Easy* •  cd mysql •  cd bin •  mysql –u root -p
  21. 21. Professor Eduardo Mendes edumendes@gmail.com Conectando-se a um banco de dados •  Na linha de comando –  Nos conectamos ao mysql através de usuário e senha: •  mysql –u root -p –  Para poder fazer consulta a um banco, informamos qual o banco através de: •  USE nomeDoBanco
  22. 22. Professor Eduardo Mendes edumendes@gmail.com Conectando-se ao banco via PHP •  Usamos uma função –  mysql_connect() •  Esta função precisa de alguns pârametros •  Precisamos informar o servidor onde está localizado o banco de dados –  localhost •  Informamos o usuário, exemplo: –  root •  Informamos a senha do usuário: –  123456
  23. 23. Professor Eduardo Mendes edumendes@gmail.com Juntando tudo mysql_connect("localhost", "root", ""); O servidorA função O usuário A senha Guardar o retorno da função em uma variável é opcional $conexao = mysql_connect("localhost", "root", "");
  24. 24. Professor Eduardo Mendes edumendes@gmail.com Selecionando o banco de dados com PHP •  O “USE” da linha de comando: mysql_select_db(); •  Precisamos informar o nome o banco – agendaTelefonica •  É opcional informar uma conexão previamente obtida –  $conexao
  25. 25. Professor Eduardo Mendes edumendes@gmail.com Juntando tudo mysql_select_db(“agendaTelefonica”); ou mysql_select_db(“agendaTelefonica", $conexao); A função O nome do banco A conexão
  26. 26. Professor Eduardo Mendes edumendes@gmail.com Sucesso na conexão
  27. 27. Professor Eduardo Mendes edumendes@gmail.com Erro na conexão
  28. 28. Professor Eduardo Mendes edumendes@gmail.com conexao.php <h1>Conexão</h1> <? $conexao = mysql_pconnect("localhost", "root", ""); if ($conexao) { mysql_select_db("agendaTelefonica", $conexao); print "Conexão realizada com sucesso"; } else { print "Falha na conexão!"; } ?>
  29. 29. Professor Eduardo Mendes edumendes@gmail.com O programa mysql •  Iniciar EasyPHP •  C: •  cd Arquivos* •  cd Easy* •  cd mysql •  cd bin •  mysql –u root -p
  30. 30. Professor Eduardo Mendes edumendes@gmail.com Inserindo muitos dados •  Baixar o arquivo dados.txt –  http://www.fa7.edu.br/phpparainiciantes/modulo3/dados.zip •  Salvar o arquivo dados.txt na pasta: –  C:Arquivos de programasEasyPHP1-8mysqlbin –  Executar o comando no mysql –  LOAD DATA LOCAL INFILE “dados.txt” INTO TABLE agendaTelefonica •  SELECT * FROM agendaTelefonica
  31. 31. Professor Eduardo Mendes edumendes@gmail.com Limitando o número de colunas •  Selecionar apenas o nome e o sobrenome de todas os registros da tabela SELECT primeironome,sobrenome FROM agendaTelefonica;
  32. 32. Professor Eduardo Mendes edumendes@gmail.com Adicionando uma condição WHERE SELECT nome, sobrenome FROM agendaTelefonica WHERE nome=‘Eduardo’;
  33. 33. Professor Eduardo Mendes edumendes@gmail.com WHERE e operadores de comparação •  WHERE nomeDoCampo = ‘xxxxx’; •  WHERE nomeDoCampo > XXXX; •  WHERE nomeDoCampo < ‘XXXX’; •  WHERE nomeDoCampo >= XXXX; •  WHERE nomeDoCampo <= ‘XXXX’;
  34. 34. Professor Eduardo Mendes edumendes@gmail.com Exemplo •  Eu quero todos os registros da agendaTelefonica que começam ou com ‘A’, ou com ‘B’ ou com ‘C’ SELECT * FROM agendaTelefonica WHERE primeironome < ‘D’;
  35. 35. Professor Eduardo Mendes edumendes@gmail.com MYSQL e PHP •  Para trabalhar com um banco –  Precisamos nos conectar ao banco –  Como? mysql_connect("localhost", "root", ""); –  Precisamos também selecionar o banco –  Como? mysql_select_db(“modulo3”);
  36. 36. Professor Eduardo Mendes edumendes@gmail.com No MySQL •  Para fazer uma consulta a uma tabela no banco, fizemos: •  Deve existir uma formaa de fazer isto no PHP. Qual? SELECT primeironome FROM agendaTelefonica;
  37. 37. Professor Eduardo Mendes edumendes@gmail.com PHP & MySQL •  Primeiro precisamos criar uma consulta em forma de String “SELECT nome FROM agendaTelefonica” •  Atribuir esta String a uma variável $sql = “SELECT nome FROM agendaTelefonica” •  Enviar esta consulta ao banco •  Guardar o resultado da consulta em outra variável
  38. 38. Professor Eduardo Mendes edumendes@gmail.com PHP & MySQL •  Como enviar a consulta para o banco? •  Esta função precisa de 1 argumento: –  A consulta: “SELECT ...” mysql_query($sql);
  39. 39. Professor Eduardo Mendes edumendes@gmail.com PHP & MySQL •  Guarde o resultado $resultado = mysql_query($sql); •  Percorra os resultados com mysql_fetch_assoc <? while ($linha = mysql_fetch_assoc($resultado)){ print $linha['nome'] .”<br/>”; } ?>
  40. 40. agenda.php <?php mysql_connect("localhost", "root", ""); mysql_select_db("cursoweb"); $sql = "SELECT * FROM agendatelefonica”; $res = mysql_query($sql); ?> <html> <body> <h1>Agenda Telefonica</h1> <h2>Contatos</h2> <?php while($linha = mysql_fetch_array($res)) { ?> <li><?php print $linha['nome'] ?> - <?php print $linha['email'] ?></li> <? } ?> </body> </html> Professor Eduardo Mendes edumendes@gmail.com
  41. 41. Professor Eduardo Mendes edumendes@gmail.com Uma agenda Simples
  42. 42. Professor Eduardo Mendes edumendes@gmail.com agenda.php <h1>Agenda Telefônica</h1> <? $conexao = mysql_pconnect("localhost", "root", ""); mysql_select_db("modulo3", $conexao); $sql = "SELECT nome FROM agendaTelefonica"; $resultado = mysql_query($sql, $conexao); ?> <table> <tr> <th>Nome</th> </tr> <? while ($linha = mysql_fetch_assoc($resultado)){ ?> <tr> <td><?= $linha['nome'] ?></td> </tr> <? } ?> </table>
  43. 43. Professor Eduardo Mendes edumendes@gmail.com agenda.php <h1>Agenda Telefônica</h1> <? $conexao = mysql_pconnect("localhost", "root", ""); mysql_select_db("modulo3", $conexao); $sql = "SELECT primeironome, sobrenome FROM agendaTelefonica"; $resultado = mysql_query($sql, $conexao); ?> <table> <tr> <th>Nome</th><th>Sobrenome</th> </tr> <? while ($linha = mysql_fetch_assoc($resultado)){ ?> <tr> <td><?= $linha['primeironome'] ?></td> <td><?= $linha[‘sobrenome'] ?></td> </tr> <? } ?> </table>
  44. 44. Professor Eduardo Mendes edumendes@gmail.com Mais consultas •  Todos os registros da tabela que ‘a’, ‘b’, ‘c’, ‘d’
  45. 45. Professor Eduardo Mendes edumendes@gmail.com Coringa  % •  Selecione todos os registros que começam com a letra ‘A’; SELECT * FROM agendaTelefonica WHERE primeironome LIKE ‘A%’;
  46. 46. Professor Eduardo Mendes edumendes@gmail.com Coringa com limitação de colunas •  Todos os nome e sobrenomes da agendaTelefonica, que possuam emails terminados com ‘br’ SELECT nome, sobrenome FROM agendaTelefonica WHERE email LIKE ‘%br’;
  47. 47. Professor Eduardo Mendes edumendes@gmail.com Múltiplas condições SELECT * FROM agendaTelefonica WHERE nome LIKE ‘J%’ AND sobrenome LIKE ‘%o%’;
  48. 48. Professor Eduardo Mendes edumendes@gmail.com Inserindo Valores no MySQL INSERT INTO agendaTelefonica VALUES( 0, ‘Eduardo', ‘Mendes', ‘eduardo@fa7.edu.br', '123567‘ );
  49. 49. Professor Eduardo Mendes edumendes@gmail.com Inserindo um valor via PHP
  50. 50. Professor Eduardo Mendes edumendes@gmail.com Inserindo um valor via PHP <h1>Inserindo um valor</h1> <? $conexao = mysql_connect("localhost", "root", ""); mysql_select_db("modulo3", $conexao); $sql = "INSERT INTO agendaTelefonica VALUES (50, 'Lizbela', 'E o prisioneiro', 'lizbela@fa7.edu.br', '1234567')"; $resultado = mysql_query($sql, $conexao); if ($resultado) { print "<p>Valor inserido com sucesso!</p>"; } else { print "<p>Não foi possível inserir...</p>"; } ?>
  51. 51. Professor Eduardo Mendes edumendes@gmail.com Recuperando o valor via PHP <h1>Recuperando um valor</h1> <? $conexao = mysql_connect("localhost", "root", ""); mysql_select_db("modulo3", $conexao); $sql = "SELECT * FROM agendaTelefonica WHERE id=50"; $resultado = mysql_query($sql, $conexao); if ($resultado) { while ($linha = mysql_fetch_assoc($resultado)) { ?> <p>O Nome inserido foi: <?= $linha['primeiroNome'] ?></p> <p>Telefone: <?= $linha['telefone'] ?></p> <? } } else { print "<p>Não foi possível recuperar o valor inserido...</p>"; } ?>
  52. 52. Professor Eduardo Mendes edumendes@gmail.com Recuperando o valor via PHP
  53. 53. Professor Eduardo Mendes edumendes@gmail.com Inserindo Valores a partir De Um Formulario
  54. 54. Professor Eduardo Mendes edumendes@gmail.com Inserindo valores com formulário <h1>Inserindo valores com Formulario </h1> <form method="post" action="inserirForm.php"> <p>Primeiro Nome: <input name="nome" type="text" /></p> <p>Sobre-nome: <input name="sobrenome" type="text" /></p> <p>Email: <input name="email" type="text“/></p> <p>Telefone: <input name="telefone" type="text“/></p> <p><input type="submit" value="Inserir" /></p> </form>
  55. 55. Professor Eduardo Mendes edumendes@gmail.com O action
  56. 56. Professor Eduardo Mendes edumendes@gmail.com O action <h1>Inserindo um valor</h1> <? $nome = $_POST['nome']; $sobrenome = $_POST['sobrenome']; $telefone = $_POST['telefone']; $email = $_POST['email']; $conexao = mysql_connect("localhost", "root", ""); mysql_select_db("modulo3", $conexao); $sql = "INSERT INTO agendaTelefonica VALUES (NULL, '$nome', '$sobrenome', '$email', '$telefone')"; $resultado = mysql_query($sql, $conexao); if ($resultado) { print "<p>Valor inserido com sucesso!</p>"; } else { print "<p>Não foi possível inserir...</p>"; } ?>
  57. 57. Professor Eduardo Mendes edumendes@gmail.com A agenda completa
  58. 58. Professor Eduardo Mendes edumendes@gmail.com Procura por nome específico •  Como encontrar um único nome caso seja preciso?
  59. 59. Professor Eduardo Mendes edumendes@gmail.com A solução  Caixa de pesquisa
  60. 60. Professor Eduardo Mendes edumendes@gmail.com Altere o php <? $conexao = mysql_connect("localhost", "root", ""); mysql_select_db("modulo3", $conexao); $sql = "SELECT * FROM agendaTelefonica"; if (isset($_POST['nome'])) { $nome = $_POST['nome']; $sql = $sql . " WHERE nome LIKE ‘$nome%’ "; } $resultado = mysql_query($sql, $conexao); ?>
  61. 61. Professor Eduardo Mendes edumendes@gmail.com O campo de texto antes da tabela <form method="post"> <p>Pesquisa: <input type="text" name="nome" /></p> </form>
  62. 62. Professor Eduardo Mendes edumendes@gmail.com Alterando Dados - UPDATE •  Altere o sobrenome para ‘Oliveira’ onde o nome é igual ‘Eduardo’ UPDATE agendaTelefonica SET sobrenome=‘Oliveira’ WHERE nome = ‘Eduardo’;
  63. 63. Professor Eduardo Mendes edumendes@gmail.com Excluindo linhas DELETE •  Delete da tabela agendaTelefonica o registro de todos os ‘Eduardo’ DELETE FROM agendaTelefonica WHERE nome = ‘Eduardo’;
  64. 64. Professor Eduardo Mendes edumendes@gmail.com Banco de Dados da FA7 CREATE DATABASE fa7; USE DATABASE fa7;
  65. 65. Professor Eduardo Mendes edumendes@gmail.com Professor •  Id •  Nome •  Titulação •  Idade •  Disciplina
  66. 66. Professor Eduardo Mendes edumendes@gmail.com Tabela Professor DROP TABLE IF EXISTS professor; CREATE TABLE professor ( id INT PRIMARY KEY, nome VARCHAR(15), titulacao VARCHAR (15), idade INT, disciplina VARCHAR(30) );
  67. 67. Professor Eduardo Mendes edumendes@gmail.com Inserindo dados Professor INSERT INTO professor VALUES ( 0, ‘Fláudio', 'Mestre', 15, ‘Cálculo' ); INSERT INTO professor VALUES ( 0, ‘Marum', 'Mestre', 10, ‘Sistemas de Informação' ); SELECT * FROM professor;
  68. 68. Professor Eduardo Mendes edumendes@gmail.com E se eu quiser mais sobre Disciplina???? •  Carga Horaria •  Curso
  69. 69. Professor Eduardo Mendes edumendes@gmail.com Disciplina •  Id •  Nome •  Carga Horária •  Curso
  70. 70. Professor Eduardo Mendes edumendes@gmail.com Tabela Disciplina DROP TABLE IF EXISTS disciplina; CREATE TABLE disciplina ( id INT PRIMARY KEY, nome VARCHAR(30), cargaHoraria INT, curso VARCHAR(30) );
  71. 71. Professor Eduardo Mendes edumendes@gmail.com Inserindo dados Disciplina INSERT INTO disciplina VALUES ( 0, ‘Cálculo', 80, ‘Sistemas de Informação’ ); INSERT INTO disciplina VALUES ( 0, ‘Sistemas de Informação', 80, ‘Sistemas de Informação’ ); SELECT * FROM disciplina;
  72. 72. Professor Eduardo Mendes edumendes@gmail.com Relacionando Tabelas
  73. 73. Professor Eduardo Mendes edumendes@gmail.com Modificando a estrura da Tabela ALTER TABLE professor MODIFY disciplina INT; •  Alterar os valores dos campos disciplina da tabela professor para que possa haver a correlação entre o campo disciplina da tabela professor e o campo id da tabela disciplina
  74. 74. Professor Eduardo Mendes edumendes@gmail.com Executando um script no PhpMyAdmin •  O que são scripts? –  Instruções formais escritas com linguagens interpretadas –  Cada instrução de um script é executada sem a necessidade de se criar um arquivo executável
  75. 75. Professor Eduardo Mendes edumendes@gmail.com Executando um script no PhpMyAdmin •  Um exemplo de script que pode ser salvo como um arquivo DROP TABLE IF EXISTS professor; CREATE TABLE professor ( id INT PRIMARY KEY, nome VARCHAR(15), titulacao VARCHAR (15), idade INT, disciplina VARCHAR(30) );
  76. 76. Professor Eduardo Mendes edumendes@gmail.com Executando um script no PhpMyAdmin
  77. 77. Professor Eduardo Mendes edumendes@gmail.com Executando os scripts para o banco de dados fa7 •  Baixe os arquivos
  78. 78. Professor Eduardo Mendes edumendes@gmail.com Verifique o banco fa7 agora • SELECT * FROM curso; • SELECT * FROM disciplina; • SELECT * FROM professor;
  79. 79. Professor Eduardo Mendes edumendes@gmail.com Combinando Tabelas SELECT * FROM professor, disciplina;
  80. 80. Professor Eduardo Mendes edumendes@gmail.com JOIN
  81. 81. Professor Eduardo Mendes edumendes@gmail.com Solução •  Precisamos colocar uma condição na nossa consulta SELECT * FROM professor, disciplina •  Para que haja o relacionamento entre as duas tabelas
  82. 82. Professor Eduardo Mendes edumendes@gmail.com Impondo uma condição SELECT * FROM professor, disciplina WHERE professor.disciplina= disciplina.id;
  83. 83. Professor Eduardo Mendes edumendes@gmail.com Dando um ‘apelido’ para Tabela SELECT * FROM professor p, disciplina d;
  84. 84. Professor Eduardo Mendes edumendes@gmail.com Apelido == ALIAS SELECT p.nome, d.nome FROM professor p, disciplina d WHERE p.disciplina = d.id;
  85. 85. Professor Eduardo Mendes edumendes@gmail.com Alias para campos SELECT p.nome as professor, d.nome as disciplina FROM professor p, disciplina d WHERE p.disciplina = d.id;
  86. 86. Professor Eduardo Mendes edumendes@gmail.com Tabela curso
  87. 87. Professor Eduardo Mendes edumendes@gmail.com Relacionando tabelas SELECT * FROM curso c, disciplina d WHERE d.curso = c.id;
  88. 88. Professor Eduardo Mendes edumendes@gmail.com Qual o curso de cada professor? SELECT c.nome as curso, p.nome as professor FROM curso c, disciplina d, professor p WHERE p.disciplina=d.id AND d.curso=c.id;
  89. 89. Professor Eduardo Mendes edumendes@gmail.com Qual o curso de um professor específico? SELECT c.nome as curso, p.nome as professor FROM curso c, disciplina d, professor p WHERE p.disciplina=d.id AND d.curso=c.id AND p.nome=‘Flaudio’;
  90. 90. Professor Eduardo Mendes edumendes@gmail.com Selecionando todos os professores SELECT nome FROM professor;
  91. 91. Professor Eduardo Mendes edumendes@gmail.com Selecionando todos os professores sem repetir nomes SELECT DISTINCT nome FROM professor;
  92. 92. Professor Eduardo Mendes edumendes@gmail.com Quantos professores existem na tabela? SELECT COUNT(*) FROM professor;
  93. 93. Professor Eduardo Mendes edumendes@gmail.com Quantos professores um curso específico possui? SELECT COUNT(DISTINCT p.nome) FROM professor p, disciplina d, curso c WHERE p.disciplina=d.id AND d.curso=c.id AND c.nome=‘CONTABILIDADE’;
  94. 94. Professor Eduardo Mendes edumendes@gmail.com Quantos professores cada curso possui? SELECT COUNT(DISTINCT p.nome), c.nome FROM professor p, disciplina d, curso c WHERE p.disciplina=d.id AND d.curso=c.id GROUP BY c.nome;
  95. 95. Professor Eduardo Mendes edumendes@gmail.com Consultas •  Selecione os professores e os ordene por ordem alfabética •  Selecione a quantidade de disciplinas do curso SISTEMAS DE INFORMACAO •  Selecione a quantidade de disciplinas de cada Curso •  Selecione a quantidade de disciplinas de cada professor
  96. 96. Professor Eduardo Mendes edumendes@gmail.com Quantos professores cada curso possui? SELECT COUNT(DISTINCT d.nome), p.nome FROM professor p, disciplina d, curso c WHERE p.disciplina=d.id AND d.curso=c.id GROUP BY p.nome;
  97. 97. Professor Eduardo Mendes edumendes@gmail.com Funções no PHP para recuperar resultados •  Cria um array associativo com a linha atual de um conjunto de resultados Id 0 primeiroNome Eduardo sobreNome Mendes email eduardo@fa7.edu.br telefone 123-4567
  98. 98. Professor Eduardo Mendes edumendes@gmail.com Funções no PHP para recuperar resultados while ($linha = mysql_fetch_assoc($resultado)) { ?> <p>O Nome inserido foi: <?= $linha['primeiroNome'] ?></p> <p>Telefone: <?= $linha['telefone'] ?></p> <? }
  99. 99. Professor Eduardo Mendes edumendes@gmail.com Funções no PHP para recuperar resultados •  Cria um array normal com a linha atual de um conjunto de resultados 0 0 1 Eduardo 2 Mendes 3 eduardo@fa7.edu.br 4 123-4567
  100. 100. Professor Eduardo Mendes edumendes@gmail.com Funções no PHP para recuperar resultados while ($linha = mysql_fetch_row($resultado)) { ?> <p>O Nome inserido foi: <?= $linha[1] ?></p> <p>Telefone: <?= $linha[4] ?></p> <? } 0 0 1 Eduardo 2 Mendes 3 eduardo@fa7.edu.br 4 123-4567
  101. 101. Professor Eduardo Mendes edumendes@gmail.com Funções no PHP para recuperar resultados •  Cria tanto o array associativo, quanto o array numérico Id 0 primeiroNome Eduardo sobreNome Mendes email eduardo@fa7.edu.br Telefone 123-4567 0 0 1 Eduardo 2 Mendes 3 eduardo@fa7.edu.br 4 123-4567
  102. 102. Professor Eduardo Mendes edumendes@gmail.com Funções no PHP para recuperar resultados while ($linha = mysql_fetch_array($resultado)) { ?> <p>O Nome inserido foi: <?= $linha[1] ?></p> <p>Telefone: <?= $linha[‘telefone’] ?></p> <? } 0 0 1 Eduardo 2 Mendes 3 eduardo@fa7.edu.br 4 123-4567 Id 0 primeiroNome Eduardo sobreNome Mendes email eduardo@fa7.edu.br telefone 123-4567
  103. 103. Professor Eduardo Mendes edumendes@gmail.com Percorrendo os resultados <table> <? while ($linha = mysql_fetch_row($resultado)){ ?> <tr> <? foreach ($linha as $valor) { print "<td>$valor</td>n"; } ?> </tr> <? } ?> </table>
  104. 104. Professor Eduardo Mendes edumendes@gmail.com Percorrendo os resultados <table> <? while ($linha = mysql_fetch_assoc($resultado)){ ?> <tr> <? foreach ($linha as $valor) { print "<td>$valor</td>n"; } ?> </tr> <? } ?> </table>
  105. 105. Professor Eduardo Mendes edumendes@gmail.com Percorrendo os resultados <table> <? while ($linha = mysql_fetch_array($resultado)){ ?> <tr> <? foreach ($linha as $valor) { print "<td>$valor</td>n"; } ?> </tr> <? } ?> </table>
  106. 106. Professor Eduardo Mendes edumendes@gmail.com Algumas funções de Strings •  strtoupper –  Converte uma String para maiúsculas –  strtoupper(“abcd”)  ABCD •  strtolower –  Converte uma String para minúsculas –  strtolower(“XYWZ”)  xywz •  strlen –  Retorna o tamanho de uma String •  Mais funções para String: http://php.net/ strings
  107. 107. Professor Eduardo Mendes edumendes@gmail.com Nossa lista de professores  listarProfessor.php
  108. 108. Professor Eduardo Mendes edumendes@gmail.com Como apresentar os campos em maiúsculas?
  109. 109. <? $con = mysql_pconnect(“localhost”, “root”,””); mysql_select_db(“jornada”, $con); $consulta = “SELECT p.*, d.nome as dnome FROM professor p, disciplina d WHERE p.disciplina=d.id”; $resultado = mysql_query($consulta, $con); Professor Eduardo Mendes edumendes@gmail.com
  110. 110. ?> <h1>Professores</h1> <table border=“1”> <tr> <td>Nome</td> <td>Titulação</td> <td>Idade</td> <td>Disciplina</td> </tr> Professor Eduardo Mendes edumendes@gmail.com
  111. 111. <? while($linha = mysql_fetch_array($resultado)) { ?> <tr> <td> <a href=“editarProfessor.php?id=<?= $linha[‘id’] ?>”> <?= $linha[‘nome’] ?> </a> </td> <td><?= $linha[‘titulacao’] ?></td> <td><?= $linha[‘idade’] ?></td> <td><?= $linha[‘dnome’] ?></td> </tr> <? } ?> Professor Eduardo Mendes edumendes@gmail.com
  112. 112. <? $con = mysql_pconnect(“localhost”,”root”,””); mysql_select_db(“jornada”, $con); $id = $_GET[‘id’]; $sql = “SELECT * FROM professor WHERE id=” . $id; $resultado = mysql_query($sql, $con); $professor = mysql_fetch_array($resultado); ?> Professor Eduardo Mendes edumendes@gmail.com
  113. 113. <form method=“post” action=“alterar.php”> <input type=“hidden” name=“id” value=“<?= $professor[‘id’] ?>” /> Nome: <input type=“text” name=“nome” value=“<?= $professor[‘nome’] ?>” /> <br/> Idade: <input type=“text” name=“idade” value=“<?= $professor[‘idade’] ?>” /> <br/> Titulacao: <input type=“text” name=“titulacao” value=“<?= $professor[‘titulacao’] ?>” /> <br/> Professor Eduardo Mendes edumendes@gmail.com
  114. 114. <? $con = mysql_pconnect(“localhost”, ”root”,””); mysql_select_db(“jornada”, $con); $id = $_POST[‘id’] ; $nome = $_POST[‘nome’] ; $titulacao = $_POST[‘titulacao’] ; $idade = $_POST[‘idade’] ; $sql = “UPDATE professor SET nome=‘$nome’, titulacao=‘$titulacao’,idade= $idade WHERE id = $id”; $r = mysql_query($sql, $con) or die(mysql_error()); Professor Eduardo Mendes edumendes@gmail.com
  115. 115. Professor Eduardo Mendes edumendes@gmail.com Tornando os campos maiúsculos <table> <? while ($campo = mysql_fetch_field($resultado)){ print " <th>" . strtoupper($campo->name) ."</th>n"; } ?>
  116. 116. Professor Eduardo Mendes edumendes@gmail.com Alterando o valor no BD com PHP
  117. 117. Professor Eduardo Mendes edumendes@gmail.com Criando uma página para Alterar
  118. 118. Professor Eduardo Mendes edumendes@gmail.com Isto é o queremos
  119. 119. Professor Eduardo Mendes edumendes@gmail.com O que precisamos? •  Criar e executar uma consulta para recuperar a informações de um professor específico •  Criar e executar uma consulta para recuperar as informações de disciplinas •  Fazer com que os campos apresentem os valores do professor específico •  Fazer com o que campo disciplinas apresente os valores das disciplinas
  120. 120. Professor Eduardo Mendes edumendes@gmail.com Realizando os 4 passos •  Criar e executar uma consulta para recuperar a informações de um professor específico $sql = "SELECT * FROM professor WHERE id=" . $_GET['id']; $resultado = mysql_query($sql, $conexao); $professor = mysql_fetch_assoc($resultado); http://localhost/aplicacao/editarProfessor.php?id=1
  121. 121. Professor Eduardo Mendes edumendes@gmail.com Realizando os 4 passos •  Criar e executar uma consulta para recuperar as informações de disciplinas $sql = "SELECT id, nome FROM disciplina"; $disciplinas = mysql_query($sql, $conexao);
  122. 122. Professor Eduardo Mendes edumendes@gmail.com Realizando os 4 passos •  Fazer com que os campos apresentem os valores do professor específico <input type="hidden" name="id" value="<?= $professor['id'] ?>" /> <p>Nome: <input type="text" name="nome" value="<?= $professor['nome'] ?>" /> </p>
  123. 123. Professor Eduardo Mendes edumendes@gmail.com Realizando os 4 passos •  Fazer com o que campo disciplinas apresente os valores das disciplinas <select name="disciplina"> <? while($opcoes = mysql_fetch_assoc($disciplinas)) { ?> <option value="<?= $opcoes['id'] ?>"> <?= $opcoes['nome'] ?></option> <? } ?> </select>
  124. 124. Professor Eduardo Mendes edumendes@gmail.com Exercícios •  Criar uma tabela chamada produto •  A tabela possui –  Id: int –  Nome: Varchar(50) –  Preco: int •  Crie uma tela para inserir produtos na tabela •  Crie uma tela para listar todos os produtos da tabela
  125. 125. Professor Eduardo Mendes edumendes@gmail.com Logando em uma aplicação
  126. 126. Professor Eduardo Mendes edumendes@gmail.com Quais as necessidades para esta tela?
  127. 127. Professor Eduardo Mendes edumendes@gmail.com Uma tabela de usuários •  Id •  Nome •  Login •  Senha –  Quais as características de um login?
  128. 128. Professor Eduardo Mendes edumendes@gmail.com Índices – login •  Chave primária –  Campo na tabela que não se repete –  Serve para identificar uma “tupla” de maneira única –  A chave primária pode ser identificada como um campo único ou como um conjunto de campos •  Índices únicos –  Determinados campos podem ter necessidades especiais –  Alguns campos não deveriam se repetir
  129. 129. Professor Eduardo Mendes edumendes@gmail.com
  130. 130. Professor Eduardo Mendes edumendes@gmail.com No PhpMyAdmin Teste para ver a mensagem de erro
  131. 131. Professor Eduardo Mendes edumendes@gmail.com Quais os campos?
  132. 132. Professor Eduardo Mendes edumendes@gmail.com Login.php <h1>Login</h1> <p>Informe o nome de usuário e senha</p> <form action="confere.php" method="post"> <p>Nome: <input name="login" type="text" /></p> <p>Senha: <input name="senha" type="password" /></p> <p><input type="submit" /></p> </form>
  133. 133. Professor Eduardo Mendes edumendes@gmail.com
  134. 134. Professor Eduardo Mendes edumendes@gmail.com A consulta $login = $_POST [‘login’]; $senha = $_POST[‘senha’]; $sql = “SELECT * FROM usuario WHERE login=‘$login’ ”; $resultado = mysql_query($sql, $conexao); $linha = mysql_fetch_assoc($resultado); if($linha[‘senha’] == $senha) {
  135. 135. Professor Eduardo Mendes edumendes@gmail.com Confere.php <? $login = $_POST['login']; $senha = $_POST['senha']; $conexao = mysql_pconnect("localhost", "root", ""); mysql_select_db("fa7", $conexao); $sql = "SELECT * FROM usuario WHERE login='$login'"; $resultado = mysql_query($sql); $linha = mysql_fetch_assoc($resultado); if ($linha['senha'] == $senha) { print "<p>Usuário logado com sucesso!</p>"; } else { print "<p>Você não tem permissão para acessar esta página!</p>"; } ?>
  136. 136. Professor Eduardo Mendes edumendes@gmail.com
  137. 137. Professor Eduardo Mendes edumendes@gmail.com listarCurso.php <h1>Listar Cursos</h1> <? $conn = mysql_connect("localhost", "root", ""); mysql_select_db("fa7", $conn); $sql = "SELECT id, nome FROM curso"; $result = mysql_query($sql, $conn); ?> <table> <tr> <th>ID</th> <th>Nome</th> </tr> <? while ($row = mysql_fetch_assoc($result)){ ?> <tr> <td><?= $row['id'] ?></td> <td><?= $row['nome'] ?></td> </tr> <? } ?> </table>
  138. 138. Professor Eduardo Mendes edumendes@gmail.com Criar um link para editarCurso •  Como poderíamos criar um link para editar o curso? •  Que link seria esse?
  139. 139. Professor Eduardo Mendes edumendes@gmail.com O link •  Destino –  editarCurso.php •  Informando o curso a ser editado –  editarCurso.php?id=1 •  O link <a href='editarCurso.php?id=<?= $row['id'] ?>'> <?= $row['nome'] ?> </a>
  140. 140. Professor Eduardo Mendes edumendes@gmail.com Adicionando o link <tr> <td><?= $row['id'] ?></td> <td> <a href='editarCurso.php?id=<?= $row['id'] ?>'> <?= $row['nome'] ?> </a> </td> </tr>
  141. 141. Professor Eduardo Mendes edumendes@gmail.com O editarCurso.php
  142. 142. Professor Eduardo Mendes edumendes@gmail.com editarCurso.php <h1>Editar Cursos</h1> <? $id = $_GET['id']; $conn = mysql_connect("localhost", "root", ""); mysql_select_db("fa7", $conn); $sql = "SELECT * FROM curso where id=$id"; $result = mysql_query($sql, $conn); $row = mysql_fetch_assoc($result); ?>
  143. 143. Professor Eduardo Mendes edumendes@gmail.com editarCurso.php <form action="alterarCurso.php“ method=“post”> <p>Id: <input type="text" name="id“ readonly=“true” value="<?= $row['id'] ?>"/></p> <p>Nome: <input type="text" name="nome" value="<?= $row['nome'] ?>"/></p> <p>Duracao: <input type="text" name="duracao“ value="<?= $row['duracao'] ?>"/></p> <p>MEC: <input type="text" name="MEC“ value="<?= $row['MEC'] ?>"/></p> <input type="button" onclick="javascript:history.go(-1);" value="Voltar"/> <input type="submit" value="Alterar"/> <a href="excluirCurso.php?id=<?= $row['id'] ?>"> Excluir Curso</a> </form>
  144. 144. Professor Eduardo Mendes edumendes@gmail.com alterarCurso.php
  145. 145. Professor Eduardo Mendes edumendes@gmail.com alterarCurso.php <? $conn = mysql_connect("localhost", "root", ""); mysql_select_db("fa7", $conn); $nome = $_POST[‘nome’]; $duracao = $_POST[‘duracao’]; $MEC = $_POST[‘MEC’]; $id = $_POST[‘id’]; $sql = "UPDATE curso SET nome='$nome', duracao='$duracao', MEC='$MEC' WHERE id=$id"; $result = mysql_query($sql, $conn); if($result) { print "<p>Curso alterado com sucesso!</p>"; } else { print "<p>Alteração não realizada!</p>"; } ?> <a href="listarCurso.php"><p>Listar Cursos</p></a>
  146. 146. Professor Eduardo Mendes edumendes@gmail.com <? $id = $_GET[‘id’]; $conn = mysql_connect("localhost", "root", ""); mysql_select_db("fa7", $conn); $sql = "DELETE FROM curso WHERE id=$id"; $result = mysql_query($sql, $conn); if($result) { print "<h1>Curso excluído com sucesso!</h1>"; } else { print "<h1>Não foi possível excluir o curso!</h1>"; } ?> <a href="listarCurso.php"><h4>Listar Cursos</h4></a>
  147. 147. Professor Eduardo Mendes edumendes@gmail.com O condicional ternário $acao = ([condição]) ? “agir” : “parar” ; true false
  148. 148. Professor Eduardo Mendes edumendes@gmail.com Nosso fluxo
  149. 149. Professor Eduardo Mendes edumendes@gmail.com Novo Fluxo
  150. 150. Professor Eduardo Mendes edumendes@gmail.com Um novo fluxo
  151. 151. Professor Eduardo Mendes edumendes@gmail.com Um novo fluxo
  152. 152. Professor Eduardo Mendes edumendes@gmail.com Criando um fluxo de decisão <? $mensagem = “”; $conn = mysql_connect("localhost", "root", ""); mysql_select_db("fa7", $conn); if (isset($_POST['acao']) || isset($_GET['acao'])) { $acao = (isset($_POST['acao'])) ? $_POST['acao'] : $_GET['acao'] ; if ($acao == "alterar") { //comandos para alterar } else if ($acao == "excluir") { //comandos para excluir } else if ($acao == "inserir") { //comandos para inserir } else if ($acao == "buscar") { //comandos para buscar } }
  153. 153. Professor Eduardo Mendes edumendes@gmail.com Adicionando o campo hidden ao editarCurso.php <form action="listarCurso.php" method="post"> <input type="hidden" name="acao" value="alterar" /> <p>Id: <input type="text" readonly="true" name="id" value="<?= $row['id'] ?>"/> </p> <p>Nome: <input type="text" name="nome" value="<?= $row['nome'] ?>"/></p>
  154. 154. Professor Eduardo Mendes edumendes@gmail.com O Alterar if ($acao == "alterar") { $nome = $_POST['nome']; $duracao = $_POST['duracao']; $MEC = $_POST['MEC']; $id = $_POST['id']; $sql = "UPDATE curso SET nome='$nome', duracao='$duracao', MEC='$MEC' WHERE id=$id"; $result = mysql_query($sql, $conn); if($result) { $mensagem = "Curso alterado com sucesso!"; } else { $mensagem = "Alteração não realizada!"; } } els...
  155. 155. Professor Eduardo Mendes edumendes@gmail.com O excluir } else if ($acao == "excluir") { $id = $_GET['id']; $sql = "DELETE FROM curso WHERE id=$id"; $result = mysql_query($sql, $conn); if($result) { $mensagem = "Curso Excluído com sucesso!"; } else { $mensagem = "A exclusão não pode ser realizada!"; } } else ...
  156. 156. Professor Eduardo Mendes edumendes@gmail.com Alterando o botão de exclusão .... <input type="button" onclick="javascript:history.go(-1);" value="Voltar"/> <input type="submit" value="Alterar"/> <a href="listarCurso.php?acao=excluir&id=<?= $row['id'] ?>"> Excluir Curso</a> </form>
  157. 157. Professor Eduardo Mendes edumendes@gmail.com O inserir } else if ($acao == "inserir") { $nome = $_POST['nome']; $duracao = $_POST['duracao']; $MEC = $_POST['MEC']; $sql = "INSERT INTO curso VALUES(NULL, '$nome', '$duracao', '$MEC')"; $result = mysql_query($sql, $conn); if($result) { $mensagem = "Curso inserido com sucesso!"; } else { $mensagem = "O curso não pode ser incluso!"; } } els...
  158. 158. Professor Eduardo Mendes edumendes@gmail.com O que já temos
  159. 159. Professor Eduardo Mendes edumendes@gmail.com O que precisaremos fazer? Este botão direciona o navegador para a página de editar/inserir
  160. 160. Professor Eduardo Mendes edumendes@gmail.com <tr> <td><?= $row['id'] ?></td> <td> <a href='editarCurso.php?id=<?= $row['id'] ?>'> <?= $row['nome'] ?> </a> </td> </tr> </table> <p> <input type="button" value="Inserir Novo Curso" onClick="javascript: location.href='editarCurso.php';" /> </p> </div> Adicionando o botão
  161. 161. Professor Eduardo Mendes edumendes@gmail.com O que precisamos fazer? •  Determinar se esta página vai alterar ou criar um novo curso •  Como? –  Pela forma como foi acessada
  162. 162. Professor Eduardo Mendes edumendes@gmail.com As 2 maneiras de acessar a página de Edição
  163. 163. Professor Eduardo Mendes edumendes@gmail.com O que precisamos fazer? •  Precisamos criar uma variável para mostrar qual ação deve ser realizada –  $acao –  Inicialmente ela vai possuir o valor “inserir” –  Caso a ação seja alterar, mudamos para o valor “alterar”
  164. 164. Professor Eduardo Mendes edumendes@gmail.com O novo editarCurso.php <h1>Editar Cursos</h1> <? $acao = "inserir"; $id = ""; $nome = ""; $duracao = ""; $MEC = ""; if (isset($_GET['id'])) { $acao = "alterar"; $id = $_GET['id']; $conn = mysql_connect("localhost", "root", ""); mysql_select_db("fa7", $conn); $sql = "SELECT * FROM curso where id=$id"; $result = mysql_query($sql, $conn); $row = mysql_fetch_assoc($result); $nome = $row['nome']; $duracao = $row['duracao']; $MEC = $row['MEC']; }
  165. 165. Professor Eduardo Mendes edumendes@gmail.com O novo editarCurso.php <form action=“listarCurso.php“ method=“post”> <input type="hidden" name="acao" value="<?= $acao ?>" /> <p>Id: <input type="text" name="id“ readonly=“true” value="<?= $id ?>"/></p> <p>Nome: <input type="text" name="nome" value="<?= $nome ?>"/></p> <p>Duracao: <input type="text" name="duracao“ value="<?= $duracao ?>"/></p> <p>MEC: <input type="text" name="MEC“ value="<?= $MEC ?>"/></p> <input type="button" onclick="javascript:history.go(-1);" value="Voltar"/>
  166. 166. Professor Eduardo Mendes edumendes@gmail.com A ação de alterar no listarCurso.php } else if ($acao == "inserir") { $nome = $_POST['nome']; $duracao = $_POST['duracao']; $MEC = $_POST['MEC']; $sql = "INSERT INTO curso VALUES(NULL, '$nome', '$duracao', '$MEC')"; $result = mysql_query($sql, $conn); if($result) { $mensagem = "Curso inserido com sucesso!"; } else { $mensagem = "O curso não pode ser incluso<strong></strong>!"; } } el....
  167. 167. Professor Eduardo Mendes edumendes@gmail.com CRUD COMPLETO!!!
  168. 168. Professor Eduardo Mendes edumendes@gmail.com O que foi visto? •  Introdução Banco de Dados –  Linhas –  Tabelas –  Colunas –  Registros –  Chave Primária –  Chave Estrangeira –  Relacionamento entre tabelas –  Índices •  MySQL –  O cliente mysql.exe •  Conexão via linha de comando –  PhpMyAdmin •  Linguagem SQL –  Linguagem de Modelagem de dados •  CREATE, USE, ALTER, LOAD DATA •  Conectando o MySQL com funções PHP –  mysql_connect(), mysql_pconnect(), mysql_select_db(), –  Consultas –  Linguagem de Consulta •  SELECT, UPDATE, DELETE, INSERT •  WHERE, AND, OR, ORDER BY, LIKE, DISTINCT, COUNT, GROUP BY •  mysql_query(), mysql_fetch_assoc(), mysql_fetch_array(), mysql_row(), mysql_fetch_field() •  Conjunto de Resultados •  Formatando o conteúdo –  Criação de CRUD
  169. 169. Professor Eduardo Mendes edumendes@gmail.com Obrigado!

×