FACULDADE DE TECNOLOGIA SENAC PELOTAS
Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas
Linguagem de Programação Visual – Edécio Fernando Iepsen
Simulado - Programação PHP com manipulação de Banco de Dados
Nome: ____________________________________________________________
Data: 16/05/2014
Marque a alternativa correta:
1. Analisa as seguintes afirmações, sobre envio de informações em programas PHP
I. No método GET, as informações enviadas por um formulário aparecem na barra de endereço do navegador.
II. Uma imagem enviada por um formulário Web deve ser recuperada pelo comando $_IMAGES[" "]
III. Na chamada altera.php?id=4 para recuperar o valor da variável id deve-se utilizar $_POST["id"]
A(
B(
C(
D(
E(
) Apenas I está correta
) Todas estão corretas
) Apenas I e II estão corretas
) Apenas I e III estão corretas
) Apenas III está correta
2. Para alterar um veiculo (observe os atributos e métodos na pág. 3), qual método NÃO é necessário:
A ( ) $veiculo->setId()
B ( ) $veiculo->update()
C ( ) $veiculo->setModelo()
D ( ) $veiculo->select()
E ( ) $veiculo->setPreco()
3. Para obter os veículos cuja palavra-chave informada ($palavra) conste em modelo deve-se utilizar método/parâmetro:
A ( ) $veiculo->select("where modelo like '%$palavra%'");
B ( ) $veiculo->select("where veiculos like '%$palavra%'");
C ( ) $veiculo->select("where id = '%$palavra%'");
D ( ) $veiculo->select("where modelo equals '$palavra'");
E ( ) $veiculo->select("where veículos = '$palavra'");
4. No acesso a base de dados em PHP utilizando PDO (PHP Data Objects), qual método deve ser utilizado para recuperar os
registros de uma tabela a partir do comando select.
A ( ) $dados = $conecta->exec("select ...");
B ( ) $dados = $conecta->run("select ...");
C ( ) $dados = $conecta->print("select ...");
D ( ) $dados = $conecta->display("select ...");
E ( ) $dados = $conecta->query("select ...");
5. Analisa as seguintes afirmações
I. Para concatenar Strings em PHP utiliza-se o ponto (como em $cidade = "Pelotas" . " RS";)
II. O comando $_SESSION[" "] é utilizado para criar uma variável de sessão e também para acessar o valor desta variável.
III. Para somar valores de campos numéricos em SQL utiliza-se a cláusula SUM no comando Select.
A(
B(
C(
D(
E(
) Apenas I está correta
) Todas estão corretas
) Apenas I e II estão corretas
) Apenas I e III estão corretas
) Apenas III está correta
As questões seguintes utilizam como referência às classes e métodos listados na página 3, para manipulação da tabela veículos.
Responde:
6. A partir da chamada (link) delete.php?id=5 quais os comandos PHP necessários para instanciar um objeto da classe Veiculos,
setar o id e excluir este registro?
7. Para que serve o método $conecta->lastInsertId()?
Programação:
8. Informe nos traços, os comandos a serem utilizados no programa index.php para exibir os veículos em destaque, de acordo com
o comentário indicado na linha anterior
***************************************************** index.php
<?php
require_once 'sm.php';
require_once 'model/Veiculos.php';
$veiculo = new Veiculos();
// atribui a variável $lista o método select do objeto $veiculo, para obter os veículos destacados
a) __________________________________________________________________
// associa a variável lista do objeto smarty ($sm), a lista obtida acima
b) __________________________________________________________________
$sm->display("index.tpl");
?>
9. Preenche os espaços para percorrer a lista obtida pelo programa acima e exibir modelo, preço e foto dos veículos
***************************************************** index.tpl
<html>
<head><title> Revenda Herbie - Destaques </title></head>
<body>
<h1> Veículos em Destaque </h1>
<table border=1>
(a)
{foreach from=___________________ item=_____________}
<tr><td> {$row.modelo} </td>
(b)
(c)
<td> Preço: ________________ </td>
<td> <img src=fotos/_____________________ </td>
</tr>
{/foreach}
</table>
</body>
</html>
10. Sabendo da existência de um formulário, com os campos modelo e preco passados pelo método POST, informe os comandos a
serem utilizados no programa abaixo, para verificar se o programa foi chamado a partir deste formulário e, então, realizar a
inclusão de um veículo. Setar o campo destaque com "x". Utilizar os métodos listados na página 3.
<?php
require_once 'sm.php';
$mensagem = "";
$sm->assign("mensagem", $mensagem);
$sm->display("cad_veiculos.tpl");
?>
11. Criar os programas contaVeiculos.php e contaVeiculos.tpl para exibir o
número de veículos cadastrados na tabela veiculos, como na página ao lado.
Estrutura da Tabela: veículos
class VeiculosDAL extends VeiculosTO {
protected $sqlInsert = "insert into
veiculos(modelo, preco, destaque)
values ('%s', %s, '%s')";
protected $sqlUpdate = "update veiculos set
modelo = '%s',
preco = %s,
destaque = '%s'
where id = %s";
protected $sqlDelete = "delete from veiculos
where id = %s";
***************************** VeiculosTO.php
<?php
protected $sqlSelect = "select * from veiculos %s";
public function insert() {
$sql = sprintf($this->sqlInsert,
$this->getModelo(),
$this->getPreco(),
$this->getDestaque());
return $this->runExecId($sql);
}
require_once 'dbConnection.php';
class VeiculosTO extends dbConnection {
private
private
private
private
$id;
$modelo;
$preco;
$destaque;
public function update() {
$sql = sprintf($this->sqlUpdate,
$this->getModelo(),
$this->getPreco(),
$this->getDestaque(),
$this->getId());
return $this->runExec($sql);
}
// métodos gets
public function getId() {
return $this->id;
}
public function getModelo() {
return $this->modelo;
}
public function delete() {
$sql = sprintf($this->sqlDelete,
$this->getId());
return $this->runExec($sql);
}
public function getPreco() {
return $this->preco;
}
public function getDestaque() {
return $this->destaque;
}
public function select($options="") {
$sql = sprintf($this->sqlSelect, $options);
return $this->runQuery($sql);
}
// métodos sets
public function setId($id) {
$this->id = $id;
}
public function load() {
$reg = $this->select("where id = " .
$this->getId());
$this->setModelo($reg[0]["modelo"]);
$this->setPreco($reg[0]["preco"]);
$this->setDestaque($reg[0]["destaque"]);
return $this;
}
public function setModelo($modelo) {
$this->modelo = $modelo;
}
public function setPreco($preco) {
$this->preco = $preco;
}
public function setDestaque($destaque) {
$this->destaque = $destaque;
}
}
}
?>
************************************* Veiculos.php
<?php
require_once 'VeiculosDAL.php';
class Veiculos extends VeiculosDAL {
?>
public function contar() {
$sql = "select count(id) as num from veiculos";
$dados = $this->runQuery($sql);
return $dados[0]["num"];
}
**************************** VeiculosDAL.php
<?php
require_once 'VeiculosTO.php';
}
?>
Download

dados = $conecta->run("select ...")