material complementar famac

16
Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas UNOPAR VIRTUAL (página: 1) Disciplina: Programação Web I Prof.(a): Veronice de Freitas Aula 04: 05-PHP / MySQL Semestre: MATERIAL COMPLEMENTAR Objetivo da Atividade: Esta atividade visa revisar exemplos da teleaula 04 relacionados à PHP e MYSQL. Estrutura – Código: 01 – Carrinho de compra ................................. página : 1 02 – Upload de arquivo ................................... página: 10 03 – Estrutura para o site ................................ página: 12 Orientações: Caro aluno, O código dessa aplicação “carrinho de compras” apresentado nesse documento foi publicado na revista: http://www.revistaphp.com.br. Supondo que um cliente seleciona os produtos na figura 01, estes produtos vão sendo adicionados no carrinho de compra (figura 02). O download do código pode ser obtido no endereço: http://www.revistaphp.com.br/artigo.php?id=150. Para testar deverá descompactar o arquivo dentro da pasta htdocs (está pasta fica localizada dentro da pasta XAMPP) onde instalou o pacote XAMPP. Figura 01 – Listagem de Produtos Figura 02 – Carrinho de compras

Upload: marcio-pereira

Post on 20-Sep-2015

20 views

Category:

Documents


0 download

DESCRIPTION

material complementar unoar

TRANSCRIPT

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 1)

    Disciplina: Programao Web I Prof.(a): Veronice de Freitas Aula 04: 05-PHP / MySQL Semestre: 5

    MATERIAL COMPLEMENTAR

    Objetivo da Atividade:

    Esta atividade visa revisar exemplos da teleaula 04 relacionados PHP e MYSQL.

    Estrutura Cdigo:

    01 Carrinho de compra ................................. pgina : 1 02 Upload de arquivo ................................... pgina: 10 03 Estrutura para o site ................................ pgina: 12

    Orientaes:

    Caro aluno, O cdigo dessa aplicao carrinho de compras apresentado nesse documento foi publicado na revista: http://www.revistaphp.com.br. Supondo que um cliente seleciona os produtos na figura 01, estes produtos vo sendo adicionados no carrinho de compra (figura 02). O download do cdigo pode ser obtido no endereo: http://www.revistaphp.com.br/artigo.php?id=150. Para testar dever descompactar o arquivo dentro da pasta htdocs (est pasta fica localizada dentro da pasta XAMPP) onde instalou o pacote XAMPP.

    Figura 01 Listagem de Produtos

    Figura 02 Carrinho de compras

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 2)

    1. Orientaes para testar o carrinho de compra.

    Carrinho de compras com PHP e MySQL (ADAPTADO) Autor: Carlos Silva Fonte: http://www.revistaphp.com.br/artigo.php?id=150 Este artigo apresenta um exemplo de um carrinho de compras (permite selecionar os productos para adicionar no carrinho de compras. No artigo descreve suas funcionalidades).

    1) PASSO 01: Descompacte carrinho.rar (disponvel no frum com adaptao do arquivo de conexo). Ao descompactar o arquivo ser criada a estrutura de pastas abaixo:

    2) PASSO 02: Crie o banco de dados com nome comercioweb2 (PHPMYADMIN).

    3) PASSO 03: Clique na guia SQL para executar o cdigo SQL abaixo (cria as tabela e insere registro na tabela tbl_produtos).

    CREATE TABLE `tbl_produtos` ( `cod` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `nome` VARCHAR( 150 ) NOT NULL , `img` VARCHAR( 36 ) NOT NULL , `preco` DOUBLE( 10, 2 ) NOT NULL ) ENGINE = MYISAM ;

    INSERT INTO `tbl_produtos` ( `cod` , `nome` , `img` , `preco` ) VALUES (NULL , 'Notebook HP 2160br', '001.jpg', '5450'), (NULL , 'Computador HP', '002.jpg', '1400');

    INSERT INTO `tbl_produtos` ( `cod` , `nome` , `img` , `preco` ) VALUES (NULL , 'Gravador de DVD', '004.jpg', '329'), (NULL , 'TV de LCD 32 polegadas com HD TV', '003.jpg', '3299');

    CREATE TABLE `tbl_carrinho` ( `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `cod` INT( 11 ) NOT NULL , `nome` VARCHAR( 150 ) NOT NULL , `preco` DOUBLE( 10, 2 ) NOT NULL , `qtd` INT( 11 ) NOT NULL , `sessao` TEXT NOT NULL ) ENGINE = MYISAM ;

    Obs: dentro do cdigo utilizado referncia das pastas -> se a estrutura for alterada ter que rever as alteraes no arquivo (Obs: no banco de dados armazenado o nome da figura dos produtos) e na pasta produtos ir gravar as imagens dos produtos enviadas por UPLOAD (um exemplo de cdigo de UPLOAD se encontra na ultima seo).

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 3)

    Criando o arquivo conn.php

    1.

    Criando o arquivo produtos.php

    1.

    2. 3. 4. 5. Carrinho de Compras 6. 7. 8. 9. 10. 18. 19. 20. 21. 28. 29. 30.

    Arquivo adaptado para usar o arquivo de configuraes

    Incluir o arquivo de configuraes

    Nome da tabela de produtos

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 4)

    31.

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 5)

    77. echo ""; 78. echo ""; 79. 80. // Aqui o final do conteudo 81. echo ""; 82. 83. if ( $intCont == $pNumColunas-1 ) { 84. echo "\n"; 85. } else { $i++; } 86. 87. } // final for $intCont 88. 89. } final for $i 90. 91. echo (''); 92. 93. } // final da funo 94. 95. ?> 96. 97. 98.

    Poder ter acesso ao artigo completo na revista: http://www.revistaphp.com.br/artigo.php?id=150 (segue algumas consideraes sobre os cdigos) Resultado do arquivo produtos.php a imagem abaixo em duas colunas.

    Recuperando os parmetros referente ao cdigo do produto e a ao usada. $acao = $_GET['acao']; $cod = $_GET['cod']; A varivel $acao indicar ao nosso cdigo o que fazer, que poder ser incluir, excluir ou modificar os dados do carrinho.

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 6)

    Ao incluir Logo no comeo verificamos se a $acao igual a incluir se for incluir temos que verificar se veio algum produto para incluirmos no nosso carrinho, caso tenha algum produto, verificamos se o contedo da varivel numrica. OBS: Temos que lembrar que mesmo atendendo os dois quesitos ainda temos que verificar se esse produto j no est no carrinho e assim evitarmos incluir produtos repetidos no carrinho, porem repare que usamos a condio abaixo. Ao excluir Nos 3 primeiros IF eu verifico se a ao excluir, se for passo para verificar se existe algum contedo na varivel $cod que a varivel do nosso produto e verificamos se do tipo numrico. Aps fazermos as 2 verificaes acima, devemos ver se o produto a ser excluido existe mesmo no nosso carrinho para a session_id() atual. Se a varivel $totalRows_rs_car for maior do que zero, porque existe o produto a ser excluido, ento excluimos o produto com o cdigo e session_id() definido. Ao modificar Antes de entrar em mais detalhes devemos reparar no cdigo HTML a linha abaixo, pois se reparar definimos um nome igual a qtd que um array com os valores das quantidades dos produtos que iremos modificar e como esse campo comum a todos os produtos ento usamos um array com os campos chave dos produtos.

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 7)

    Criando o arquivo carrinho.php

    1.

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 8)

    52. // Verificamos se a acao igual a excluir 53. if ($acao == "excluir") 54. { 55. // Verificamos se cod do produto diferente de vazio 56. if ($cod != '') 57. { 58. // Se for diferente de vazio verificamos se numrico 59. if (is_numeric($cod)) 60. { 61. // Tratamos a variavel de caracteres indevidos 62. $cod = addslashes(htmlentities($cod)); 63. // Verificamos se o produto referente ao $cod est no carrinho

    para o session id correnpondente 64. $query_rs_car = "SELECT * FROM tbl_carrinho WHERE cod =

    '".$cod."' AND sessao = '".session_id()."'"; 65. $rs_car = mysql_query($query_rs_car, $conn) or

    die(mysql_error()); 66. $row_rs_carrinho = mysql_fetch_assoc($rs_car); 67. $totalRows_rs_car = mysql_num_rows($rs_car); 68. 69. // Se encontrarmos o registro, excluimos do carrinho 70. if ($totalRows_rs_car > 0) 71. { 72. $sql_carrinho_excluir = "DELETE FROM tbl_carrinho WHERE

    cod = '".$cod."' AND sessao = '".session_id()."'"; 73. $exec_carrinho_excluir =

    mysql_query($sql_carrinho_excluir, $conn) or die(mysql_error()); 74. } 75. } 76. } 77. } 78. 79. // Verificamos se a ao de modificar a quantidade do produto 80. if ($acao == "modifica") 81. { 82. $quant = $_POST['qtd']; 83. // Se for diferente de vazio verificamos se numrico 84. if (is_array($quant)) 85. { 86. // Aqui percorremos o nosso array 87. foreach($quant as $cod => $qtd) 88. { 89. // Verificamos se os valores so do tipo numeric 90. if(is_numeric($cod) && is_numeric($qtd)) 91. { 92. // Fazemos nosso update nas quantidades dos

    produtos 93. $sql_modifica = "UPDATE tbl_carrinho SET qtd = '$qtd' WHERE cod = '$cod' AND sessao = '".94. $rs_modifica = mysql_query($sql_modifica,

    $conn) or die(mysql_error()); 95. } 96. } 97. } 98. 99. } 100. ?> 101. 102. 103. 104. 105. 106. Carrinho de Compras 107. 108.

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 9)

    112. font-weight: bold; 113. } 114. --> 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. PRODUTO 125. PREO 126. QUANTIDADE 127. SUBTOTAL 128. 129. 130. 131.

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 10)

    169.

    170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180.

    Resultado do Carrinho aps incluir 2 produtos e modificar a quantidade de um deles

    2 UPLOAD DE ARQUIVOS

    Fonte: http://www.w3schools.com/PHP/php_file_upload.asp (veja o artigo)

    Arquivo: FormUpload.html

    Arquivo:

    Arquivo: upload_file.php

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 11)

    if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 20000)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . ""; } else { echo "Upload: " . $_FILES["file"]["name"] . ""; echo "Type: " . $_FILES["file"]["type"] . ""; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "";

    if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } ?>

    Envia o arquivo selecionado para o servidor web dentro da pasta especificada para upload (veja o destaque no texto)

    Verifica se o arquivo j foi enviado

    Apresenta informaes referente ao arquivo

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 12)

    3 EXEMPLO DE ESTRURA PARA CHAMAR AS OES DENTRO DE

    UMA REA DA TELA

    INDEX

    1)

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 13)

    break;

    19) case "ListaProdCategoria": $inc = "mysqlExemplo9Listar.php"; break;

    default:

    $inc = "entrada_principal.php"; break;

    20) } // switch 21) 22) ?>

    23)

    24)

    25)

    26)

    27) 28) 29)

    30) LOGO

    31)

    32) 33) BANNER 34)

    35)

    36) 37)

    38) MENU DE OPES GENRICAS DO SISTEMA

    39)

    40)

    41) 42)

    43) CAMINHO

    44)

    45)

    46) 47)

    48)

    49) MENU

    50)

    51) Lista de produtos

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 14)

    52) 53) Consulta / Categoria 54)

    55)

    56)

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 15)

    29) ?>

    mysqlExemplo9Listar.php

    1)

  • Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

    UNOPAR VIRTUAL (pgina: 16)

    53) } 54) 55) echo ''; 56) 57) mysql_free_result($resultado); 58) 59) mysql_close($rCon); 60) 61) echo ""; 62) 63) echo "Selecionar outra categoria\n"; 64) 65) echo "\n"; 66) 67) ?>