Sei sulla pagina 1di 0

PROFESSORA

VERONICE DE FREITAS
Graduao: Tecnologia em Processamento de
Dados (UNOPAR)
Especializao: Anlise e Desenvol vimento de
Sistemas (UNIFIL)
Mestrado: Cincia da Computao
(UFRGS)
veronice.freitas1@unopar.br
DESENVOLVI MENTO DE
APLICAO WEB
Aula 3
PHP / MySQL
DESENVOLVIMENTO DE
APLICAO WEB
OBJETIVOS: Estudo da conceituao para o
desenvolvimento de programas destinados
Internet e ao Comrcio Eletrnico.
ESTRUTURA
Php/ MySQL
Insert
Update
Delete
AdaptWeb
Ambiente (Aluno)
Ambiente (professor)
Estrutura Exemplo -SITE
Material de Apoio
INCLUDES
Include cabecalho.php
<head>
<meta http"equiv="Content"Type" content="text/html;
charset=utf"8" />
<title>Exemplos SQL</title>
<link rel="stylesheet" type="text/css href = "css/geral.css
media="print" />
<head>
Include configuracoes.php
<?php
// ==== banco de dados ====
$tipo = 'mysql';
$hostname = 'localhost';
$usuario = 'root';
$senha = unopar1234';
$db = 'comercioweb';
?>
Arquivo conexao.php
<?php
// Conectamos ao nosso servidor MySQL
if(!($rCon = mysql_connect($hostname, $usuario,$senha ))) {
echo "Erro ao conectar ao MySQL.";
exit;
}
// Selecionamos nossa base de dados MySQL
if(!($rSel = mysql_select_db($db))) {
echo "Erro ao selecionar ao MySQL.";
exit;
}
mysql_query ('SET NAMES utf8');
?>
SQL I NSERT
SQL - I nsert
Coma instruo INSERT se consegue inserir registros
emuma tabela emumBanco de dadosMySQL.
A sintaxe base :
INSERT INTO nome_da_tabela(nome_do_campo)
VALUES ('valor')
Onde:
! nome_da_tabela:Voc deverindicar o nome
da tabela onde serfeita a insero dos dados;
! nome_do_campo:Voc deverindicar o nome
do campo onde os dados sero includos;
! valor:Voc deverindicar os dados que
sero inseridos.
INSERT PHP (Exemplo01)
<html>
<?PHP
include "include/cabecalho.php";
?>
<body>
<h1> Exemplo 01 " Insert </h1>
<?PHP
include "config/configuracoes.php";
include "conexao/conecta.php";
mysqlExemplo10.php
$consulta = "insert into produtos (descricao, observacao,
preco, peso, qtdeestoque, nomeimagem, promocao, categoria)
values ('Toalha de banho', 'toalha de banho 1,5 x 3,0 metros',
15, 2, 5, 'toalhabanho2.gif', '0', 4)";
$resultado = mysql_query($consulta)
or die (mysql_error());
echo mysql_affected_rows($rCon);
mysql_close($rCon);
?>
</body>
</html>
verificao de
erro
mysqlExemplo10.php
SQL I nsert (Exemplo 02)
<html>
<?PHP
include "include/cabecalho.php";
?>
<body>
<form action="mysqlExemplo11Insert.php" name="form"
method="post">
Nome:<br>
<input type="text" name="nome" maxlenght=40" size="25" /><br>
Observaes:<br>
<textarea name="observacoes" rows="4" cols="20"></textarea><br>
<input type="submit" value="Inserir" />
</form>
</body>
</html>
mysqlExemplo11formulario.php
<?
include "config/configuracoes.php";
include "conexao/conecta.php";
$nome = $_POST["nome"];
$observacoes = $_POST["observacoes"];
$sql = "INSERT INTO categorias (categoria, observacoes)
VALUES ('$nome', '$observacoes')";
$resultado = mysql_query($sql)
or die (mysql_error());
echo "Dados inseridos com sucesso!";
?>
mysqlExemplo11Insert.php
verificao de erro
ATIVIDADE EM SALA
Analise os campos abaixo e defina como
seria o SQL de incluso de produtos levando
emconsiderao que o campo codigo
incrementado automaticamente e dos demais
campos somente o campo observacaoopcional.
codigo, descricao, observacao, peso, qtdestoque,
promocao, categoria.
POSSVEL RESPOSTA
Cgido para insero do produto:
insert into produtos (descricao, observacao, preco,
peso, qtdeestoque, promocao, categoria)
Values ('Toalha de banho', 'toalha de banho 1,0 x 2,0
metros', 25, 0, 1, '0', 4)
Os dados de cada campo poderiam ser obtidas
e atravs de formulrios (o campo categoria poderia
ser selecionado com a opo SELECT do HTML
(para a seleo da categoria).
ALTERAO
(COMMIT ROLLBACK)
http://www.devarticles.com/c/a/MySQL/Using-
Transactions-with-MySQL-4.0-and-PHP/
UPDATE - SINTAXE
A sintaxe bsica do comando UPDATE :
UPDATE nome_tabela
SET nome_coluna1=expr1
[, nome_coluna2=expr2 ...]
[WHERE definio_where]
UPDATEaplicado a uma tabela e a clusulaSET
atribui a umcampo o valor de uma expresso que pode
ou no conter o valor de umcampo da prpria tabela.
A clusula WHERErestringe as atualizaes apenas
aos registro que satisfao suas condies.
Atualizando dados do banco
(ALTERAO)
<?php
//abre conexo com o mysql
include "config/configuracoes.php";
include "conexao/conecta.php";
$up = mysql_query("UPDATE pessoas set
site= 'www.clubepc.org' where nome = 'thales'");
?>
Incluir verificao
de erro
SQL Update (Exemplo 2)
Seleo da categoria
Formulrio
de alterao
SQL Update (Exemplo 2)
<?
include "include/cabecalho.php";
include "config/configuracoes.php";
include "conexao/conecta.php";
$resultado=mysql_query("SELECT * FROM categorias
ORDER BY categoria ASC");
Alterao de dados da tabela de categorias.
Seleo das categorias
mysqlExemplo13Select.php
echo "<form action=\"mysqlExemplo13Alterar.php\"
name=\"form\" method=\"post\">\n";
echo "<select name=\"codigo\">\n";
while ($dados = mysql_fetch_array($resultado)) {
echo "<option value='" . $dados['codigo'] . "'>" .
$dados['categoria'] . "</option>\n";
}
echo "</select>\n";
echo "<br><br>\n";
echo "<input class=\"button\" type=\"submit\"
value=\"Alterar\" />\n";
echo "</form>\n;
echo "</body></html>";
?>
Seleo das categorias
mysqlExemplo13Select.php
<?
include "include/cabecalho.php";
include "config/configuracoes.php";
include "conexao/conecta.php";
$codigo = $_POST['codigo'];
// """""""""" atualiza os dados aps submeter alterao
if (isset($_POST['alterar'])) {
$nome = $_POST["nome"];
$observacoes = $_POST["observacoes"];
$sql = "UPDATE categorias SET categoria='$nome',
observacoes='$observacoes' WHERE codigo=$codigo";
//echo $sql;
mysqlExemplo13Alterar.php
$resultado = mysql_query($sql)
or die (mysql_error());
echo mysql_affected_rows($rCon);
} // fecha o if (isset)
// """"" obtm dados para alterao
$sql = "SELECT * FROM categorias WHERE
codigo=$codigo";
$resultado = mysql_query($sql)
or die (mysql_error());
$linha = mysql_fetch_array($resultado) ;
mysqlExemplo13Alterar.php
// "" dados /formulrio de alterao ""
$nome = $linha["categoria"];
$observacoes = $linha["observacoes"];
echo "<form action=\"mysqlExemplo13Alterar.php\"
name=\"form\" method=\"post\">\n";
echo "<input type=\"hidden\" name=\"codigo\"
value=\"$codigo\"/>\n";
echo "Nome:<br>\n";
echo "<input type=\"text\" name=\"nome\"
value=\"$nome\" maxlenght=\"100\" size=\"25\" /><br>\n;
echo "Observaes:<br>\n";
echo "<textarea name=\"observacoes\" rows=\"4\"
value=\"$observacoes\"
cols=\"20\">$observacoes</textarea><br>\n";
echo "<input class=\"button\" type=\"submit\"
name=\"alterar\" value=\"Alterar\" />\n";
echo "<a class=\"button\"
href=\"mysqlExemplo13Select.php\">Selecionar outra</a>\n";
echo "</form>\n";
mysql_free_result($resultado);
mysql_close($rCon);
echo "</body></html>\n";
?>
ATIVIDADE EM SALA
Questo 01:O que teria que ser alterado no
exemplo de alterao para que ao invs de
alterar a categoria essa categoria fosse
excluda?
Questo 02:Essa a excluso temalguma
relao coma tabela de produtos?
Questo 03:Qual a instruo SQL para excluir
a categoria.
ATIVIDADE EM SALA
(possvel resoluo)
Questo 01:o usurio teria que selecionar a
categoria a ser excluda (a seleo a mesma
apresentada na alterao) !ao invs de
apresentar os campos emforma de formulrio
para alterao poderia somente apresentar
as informaes dos campos).
Questo 02:cada produto possui o cdigo de sua
categoria (sendo assimuma categoria X no pode
ser excluda se possuir produtos cadastrados com
essa categoria)
ATIVIDADE EM SALA
(possvel resoluo)
// verificar se foi especificada para algum produto
SELECT COUNT(*)
FROM produtos
WHERE caregoria = 3
// excluir somente se a consulta anterior no tiver registro
DELETE FROM categorias
WHERE codigo = 3
EXCLUSO
DELETE - SINTAXE
Descrio: Utilizado para apagar umou umgrupo
de registro de uma tabela especfica.
Sintaxe:
deletefrom<tabela>
Wherecampo =<critrio de deleo>
Exemplo:
deletefromcliente
Wherecodigocliente=1
EXCLUINDO DADOS
DO BANCO
<?
include"conexao.php";
//comando que exclui o registro
$query = mysql_query("DELETE FROM pessoas
where nome = 'thales'");
echo"Registro excluido!";
?>
Incluir verificao
de erro
EXCLUIR CATEGORIA
<?
include "include/cabecalho.php";
include "config/configuracoes.php";
include "conexao/conecta.php";
echo "<br><br>";
echo "<H3> EXCLUSO DE CATEGORIA </H3>";
$resultado=mysql_query("SELECT * FROM categorias ORDER BY
categoria ASC");
echo "<form action=\"mysqlExemplo14Excluir.php\"
name=\"form\" method=\"post\">\n";
echo "Categoria: ;
Seleciona Categoria
mysqlExemplo14Select.php
echo "<select name=\"codigo\">\n";
while ($dados = mysql_fetch_array($resultado)) {
echo "<option value='" . $dados['codigo'] . "'>" .
$dados['categoria'] . "</option>\n";
}
echo "</select>\n";
echo "<BR><BR>\n";
echo "<input class=\"button\" type=\"submit\"
value=\"Excluir\" />\n";
echo "</form>\n";
cho "</body>\n</html>\n";
?>
Seleciona Categoria
mysqlExemplo14Select.php
include "include/cabecalho.php";
include "config/configuracoes.php";
include "conexao/conecta.php";
$codigo = $_POST['codigo'];
// verifica se a categoria foi especificada
// para algum produto """""""""""""""""""""
$totalRows = mysql_num_rows(mysql_query("SELECT
Produtos.categoria FROM produtos WHERE
Produtos.categoria = $codigo"));
Exclui a categoria selecionada se no se no
foi especificada para nenhum produto
mysqlExemplo14Excluir.php
<?
if ($totalRows == 0) {
$sql = "DELETE FROM categorias WHERE codigo = $codigo";
$resultado = mysql_query($sql)
or die (mysql_error());
echo "registro excludo: ". mysql_affected_rows($rCon);
}
else {
echo "Categoria no pode ser excluda";
}
mysql_close($rCon);
echo "</body></html>\n";
?>
Exclui a categoria selecionada
se no se no foi especificada
para nenhum produto
mysqlExemplo14Excluir.php
PERGUNTAS
AdaptWeb
O projeto Adaptwebfoi executado emparceria entre
pesquisadores do Instituto de Informtica da UFRGS
e do Departamento de Computao da Universidade
de Estadual de Londrina (UEL).
Algumas referncias do AdaptWeb:
http://www.inf.ufrgs.br/~palazzo/OAI/04%20Softw
are%20Livre%20-%20AdaptWeb.pdf
http://www.inf.ufrgs.br/~palazzo/OAI/04%20EAW%
20AH%20(Mariusa).pdf
Obs: outras publicaes pesquise no google
usando o texto: ADAPTWEB
Ambiente do
ALUNO
ESTRUTURA USURIOS
DO SISTEMA
O acesso ao sistema foi definido:
Usurio ROOT responsvel por liberar o professor
para AUTORIA (esse usurio automaticamente
cadastrado pelo sistema que identifica o usurio
ROOT)
Usurio: professor
Usurio: aluno
Tipo de usurio
USURIO:
ROOT
USURIO:
PROFESSOR / AUTORIA
Estrutura
Exemplo para SITE
Estrutura Exemplo
<td>
MENU
<br>
<a href='index.php?opcao=ListaProdutos'>Lista de
produtos</a>
<br>
<br>
<a href='index.php?opcao=ProdutosCategoria'>Consulta /
Categoria</a>
</td>
Bloco de cdigo
referente as opes
do MENU
<?PHP
if (is_null($opcao)) {
$opcao="Principal";
}
else
if (isset($_GET["opcao"])) {
$opcao = $_GET["opcao"];
}
else
if (isset($_POST["opcao"])){
$opcao = $_POST["opcao"];
}
switch ($opcao) {
case "ListaProdutos":
$inc = "mysqlExemplo8ListarProdutos.php";
break;
case "ProdutosCategoria":
$inc =
"mysqlExemplo9Select.php";
break;
case "ListaProdCategoria":
$inc =
"mysqlExemplo9Listar.php";
break;
default:
$inc = "entrada_principal.php";
break;
} // switch
?>
rea de contedo
Uma pgina indexcomuma estrutura CASE para
selecionar qual pgina deve ser includa na rea de
contedo
MATERIAL DE APOIO
MANUAL PHP:
http://www.php.net/manual/pt_BR/index.php
HTML: http://www.w3schools.com/TAGS/tag_th.asp
Grupo :
http://groups.google.com.br/group/desenvolvimento_p
hp(Veronicede Freitas)
Manual MySQL:
http://www.php.net/manual/pt_BR/book.mysql.php
REFERNCIA - CONSULTA
Bibliografia Bsica:
DEITEL, Paul J.; DEITEL, HarveyM.. Ajax, Rich
Internet Applicationse desenvolvimento webpara
programadores. So Paulo: PearsonPrenticeHall,
2009. 747p. (Srie do programador).
LEMAY, Laura. Aprenda a criar pginas webcom
HTML e XHTML em 21 dias. So Paulo: Makron
Books, 2002. 1165p.
CONVERSE, Tim; PARK, Joyce. PHP a
bblia. Rio de Janeiro: Campus, 2003. 868p.
REFERNCIA - CONSULTA
Bibliografia Complementar:
NISHIMURA, Roberto Yukio. Banco de dados II:
anlise e desenvolvimento de sistemas. So Paulo
PearsonEducationdo Brasil, 2009.
WELLING, Luke; THOMSON, Laura. PHP e
MySQLdesenvolvimento web. Rio de Janeiro:
Campus, 2003. 676p.
NIELSEN, Jakob; LORANGER, Hoa. Usabilidade
na Web. Rio de Janeiro: Elsevier, 2007. 406p
2010 Todos os direitos reservados. Uso exclusivo
no Sistema de Ensino Presencial Conectado.

Potrebbero piacerti anche