Usei o meu programa ScriptOut.php para publicar todos os arquivos e os respectivos conteúdos da pasta astudy aqui. Agora, sugiro você copiar todo o texto e salvar em script.txt no diretório C:/wamp64/www, e em seguida executar o programa ScriptIn.php que publiquei em outro tópico, ele vai montar o diretório astudy e todos os arquivos do projeto no seu computador.
arquivo /astudy/Controller/orçamentoController.php
<?php
session_start();require $_SERVER['DOCUMENT_ROOT']."/astudy/Model/produto.php";require $_SERVER['DOCUMENT_ROOT']."/astudy/Model/funções.php";classorçamentoController {private $produto;publicfunction __construct(){$this->produto=new produto();}publicfunction produto(){
$produtos=$this->produto->listarTudo();
$irPara="Controller/orçamentoController";require $_SERVER['DOCUMENT_ROOT']."/astudy/View/viewFiltro.php";exit;}publicfunction inicio(){
$soma=0;
$itens=[];
$_SESSION['itens']=[];require $_SERVER['DOCUMENT_ROOT']."/astudy/View/viewOrçamento.php";exit;}publicfunction acrescentaItem($prod){
$soma=0;
$_SESSION['itens'][]=$prod;
$itens=$_SESSION['itens'];foreach($itens as $item){$soma+=$item[1]*$item[3];}require $_SERVER['DOCUMENT_ROOT']."/astudy/View/viewOrçamento.php";exit;}publicfunction excluir($key){
$soma=0;
array_splice($_SESSION['itens'],$key,1);
$itens=$_SESSION['itens'];foreach($itens as $item){$soma+=$item[1]*$item[3];}require $_SERVER['DOCUMENT_ROOT']."/astudy/View/viewOrçamento.php";exit;}publicfunction alterar($alterar,$chave){
$soma=0;
$_SESSION['itens'][$chave][1]=$alterar;
$_SESSION['itens'][$chave][4]=$alterar*$_SESSION['itens'][$chave][3];
$itens=$_SESSION['itens'];foreach($itens as $item){$soma+=$item[1]*$item[3];}require $_SERVER['DOCUMENT_ROOT']."/astudy/View/viewOrçamento.php";exit;}}
$get=$_GET;
$class=neworçamentoController();if(key($get)=='produto'){$class->produto();}if(key($get)=='inicio'|| key($get)=='apagar'){$class->inicio();}if(key($get)=='id'){
$prod=$get['prod'];
$un=$get['un'];
$preço=$get['preço'];
$total=$get['preço'];
$class->acrescentaItem([$prod,1,$un,$preço,$total]);}if(key($get)=='excluir'){$class->excluir($get['excluir']);}if(key($get)=='alterar'){$class->alterar($get['alterar'],$get['chave']);}
arquivo /astudy/Controller/produtoController.php
<?php
require $_SERVER['DOCUMENT_ROOT']."/astudy/Model/produto.php";class produtoController {private $produto;publicfunction __construct(){
$this->produto=new produto();}publicfunction criarTabela(){$this->produto->criarTabela();}publicfunction listar(){
$produtos=$this->produto->listar();
$contagem=count($produtos);
$colunas=4;
$numLinhas=intval($contagem/$colunas);if($contagem/$colunas>$numLinhas){$numLinhas++;}require $_SERVER['DOCUMENT_ROOT'].'/astudy/View/viewProduto.php';exit;}publicfunction filtrar($filtro){
$produtos=$this->produto->filtrar($filtro);
$irPara="View/viewAtualizar";require $_SERVER['DOCUMENT_ROOT'].'/astudy/View/viewFiltro.php';exit;}publicfunction atualizar($dados){
$irPara="View/viewAtualizar";
$produtos=$this->produto->atualizar($dados);require $_SERVER['DOCUMENT_ROOT'].'/astudy/View/viewFiltro.php';exit;}publicfunction incluir($dados){
$produtos=$this->produto->incluir($dados);require $_SERVER['DOCUMENT_ROOT'].'/astudy/View/viewFiltro.php';exit;}publicfunction excluir($dados){
$produtos=$this->produto->excluir($dados);}}if(isset($_GET)){
$get=$_GET;
$classe=new produtoController();if(key($get)=="criarProdutos"){$classe->criarTabela();}if(key($get)=="verProdutos"){$classe->listar();}if(key($get)=="item"){$classe->filtrar($get['item']);}if(key($get)=="atualizar"){$classe->atualizar($get['atualizar']);}if(key($get)=="excluir"){$classe->excluir($get['excluir']);}if(key($get)=="incluir"){$classe->incluir($get['incluir']);}}
arquivo /astudy/Model/conexao.php
<?php
class conexao {privatestatic $pdo;publicfunction __construct(){}publicstaticfunction getInstance(){if(!self::$pdo){self::$pdo=new PDO("mysql:host=localhost;dbname=laravel","root","");}returnself::$pdo;}}
arquivo /astudy/Model/funções.php
<?php
function nf($número){return number_format($número,2,',','.');}
arquivo /astudy/Model/produto.php
<?php
require $_SERVER['DOCUMENT_ROOT']."/astudy/Model/conexao.php";class produto {private $pdo;publicfunction __construct(){
$this->pdo=conexao::getInstance();}publicfunction criarTabela(){
$tabela='produto';
$stmt=$this->pdo->prepare("SELECT COUNT(*) AS total FROM
information_schema.tables WHERE table_name = ?");
$stmt->execute([$tabela]);
$total=$stmt->fetchColumn();if($total>0){$this->pdo->exec("DROP TABLE $tabela");}
$sql="CREATE TABLE $tabela (id INT NOT NULL AUTO_INCREMENT,
prod VARCHAR(255) NOT NULL, preço FLOAT NOT NULL,
un VARCHAR(2) NOT NULL, PRIMARY KEY (id))";
$this->pdo->exec($sql);
$sql="INSERT INTO produto (prod,preço,un) values (?,?,?)";
$dados=[["Maçã Red",20,"kg"],["Macarrão Tipo Ninho",5.5,"un"],["Pera Portuguesa",25,"kg"],["Picanha Fresca",50,"kg"],["Pão de Forma",7,"un"],["Pão Francês",11,"kg"],["Banana Nanica",8,"kg"],["Laranja Lima",5,"kg"],["Refrigerante 2L",8.50,"un"]];foreach($dados as $dado){
$stmt=$this->pdo->prepare($sql);
$stmt->execute($dado);}require $_SERVER['DOCUMENT_ROOT']."/astudy/View/viewBasico.html";
echo "<h1>Tabela criada com sucesso!<br>";}publicfunction listarUm($id){
$stmt=$this->pdo->query("SELECT * from produto where id=$id");return $stmt->fetchALL(PDO::FETCH_ASSOC);}publicfunction listarTudo(){
$stmt=$this->pdo->query("SELECT * from produto order by prod");return $stmt->fetchALL(PDO::FETCH_ASSOC);}publicfunction listar(){
$stmt=$this->pdo->query("SELECT SUBSTRING_INDEX(prod,' ',1) AS grupo
FROM produto GROUP BY grupo ORDER BY grupo");return $stmt->fetchALL(PDO::FETCH_ASSOC);}publicfunction filtrar($filtro){
$stmt=$this->pdo->query("select * from produto where prod like '$filtro%'
order by prod");return $stmt->fetchALL(PDO::FETCH_ASSOC);}publicfunction atualizar($dados){
$stmt=$this->pdo->prepare('UPDATE produto SET
prod=?,preço=?,un=? WHERE id=?');
$stmt->execute([$dados[1],$dados[2],$dados[3],$dados[0]]);
$filtro=$dados[0];
$stmt=$this->pdo->query("select * from produto where id=$filtro");return $stmt->fetchAll(PDO::FETCH_ASSOC);}publicfunction incluir($dados){
$stmt=$this->pdo->prepare('INSERT INTO produto (prod,preço,un)
values (?,?,?)');
$stmt->execute([$dados[0],$dados[1],$dados[2]]);
$filtro=$this->pdo->lastInsertId();
$stmt=$this->pdo->query("select * from produto where id=$filtro");return $stmt->fetchAll(PDO::FETCH_ASSOC);}publicfunction excluir($dados){
$id=$dados[1];
$produto=$dados[0];
$this->pdo->query("delete from produto where id=$id");require $_SERVER['DOCUMENT_ROOT']."/astudy/View/viewBasico.html";
echo "<h1>o produto $produto foi excluido</h1>";}}
arquivo /astudy/View/viewAtualizar.php
<?php
require('viewBasico.html');
$id=$_GET['id'];
$prod=$_GET['prod'];
$preço=$_GET['preço'];
$un=$_GET['un'];?><tableclass="table table-striped fs-1"><formaction='../Controller/produtoController.php'><tr><td>Código<td><?=$id?><input type=hidden name=atualizar[] value=<?=$id?>>
<tr><td>Produto<td><input name=atualizar[] value='<?=$prod?>'>
<tr><td>preço<td><input name=atualizar[] value=<?=$preço?>>
<tr><td>Un<td><input name=atualizar[] value='<?=$un?>'>
<tr><td><tdcolspan=2><inputname=alterartype=submitvalue=Atualizar></form><tr><td><td><formaction='../Controller/produtoController.php'>
<input type=hidden name=excluir[] value='<?=$prod?>'>
<input type=hidden name=excluir[] value=<?=$id?>>
<inputtype=submitvalue=Excluir></form></table>
arquivo /astudy/View/viewBasico.html
<!DOCTYPE html><metaname="viewport"content="width=device"><linkhref="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css"rel="stylesheet"><inputid=inputMenuclass=fs-1type=submitvalue=Menuonclick="location.replace('../View/viewMenu.php')"><aclass='fs-1 link-underline-light'id=mensagem></a><hr>
arquivo /astudy/View/viewFiltro.php
<?php
include('viewBasico.html');
echo "<table class=table><th class=fs-1>Cód<th class=fs-1>Produto
<th class=fs-1>preço<th class=fs-1>Un";foreach($produtos as $produto){
$id=$produto['id'];
$prod=$produto['prod'];
$prodURL=urlencode($prod);
$preço=$produto['preço'];
$un=$produto['un'];
echo "<tr><td class='fs-1 text-end'>$id";
echo "<td class='fs-1 text-nowrap overflow-hidden'>";
echo "<a class='link-underline-light' href=../$irPara?id=$id&prod=$prodURL&preço=$preço&un=$un>$prod</a>";
echo "<td class=fs-1>$preço<td class=fs-1>$un";}?></table>
arquivo /astudy/View/viewIncluir.php
<?php require('viewBasico.html');?><formclass="w-50 mt-5 m-auto"action='/astudy/Controller/produtoController.php'><tableclass="table table-striped fs-1"><tr><td><tdclass=fs-1>Novo Produto
<tr><td>Produto<td><inputname=incluir[]required><tr><td>Preço<td><inputname=incluir[]required><tr><td>Un<td><inputname=incluir[]required><tr><td><td><inputtype=submitvalue='Incluir Novo Produto'></form></table>
arquivo /astudy/View/viewMenu.php
<?php include('viewBasico.html');?><script>inputMenu.setAttribute('type','hidden')</script><tableclass='table table-striped fs-1'><tr><td><aclass=link-underline-lighthref="/astudy/Controller/produtoController.php?criarProdutos">
Criar ou recriar tabela produtos</a><tr><td><aclass=link-underline-lighthref="/astudy/Controller/produtoController.php?verProdutos">
Ver todos produtos</a><tr><td><aclass=link-underline-lighthref="/astudy/View/viewIncluir.php">
Incluir novo produto</a><tr><td><aclass=link-underline-lighthref="/astudy/Controller/orçamentoController.php?inicio">Orçamento</a></table>
arquivo /astudy/View/viewOrçamento.php
<?php include('viewBasico.html')?><script>mensagem.innerHTML="Orçamento"</script><tableclass='fs-1 table table-striped'><th>Produto<th>Qt<th>Un<th>Preço<th>Total
<?php foreach($itens as $key=>$item):?><tr><td><a class=link-underline-light href='../Controller/orçamentoController.php?excluir=<?=$key?>'>
<?=$item[0]?></a><td><input class='border border-light bg-transparent' value=<?=$item[1]?> size=1
onchange="location.replace
('../Controller/orçamentoController.php?alterar='+
this.value+'&chave=<?=$key?>')">
<td><?=$item[2]?><tdclass=text-end><?=nf($item[3])?><tdclass=text-end><?=nf($item[4])?><?php endforeach;?><tr><td><inputtype=submitvalue=Produtoonclick="location.replace
('../Controller/orçamentoController.php?produto')"><inputtype=submitvalue=Apagaronclick="location.replace
('../Controller/orçamentoController.php?apagar')"><td><td><th>Geral<th><?=nf($soma)?></table>
arquivo /astudy/View/viewProduto.php
<?php include('viewBasico.html')?><pclass='fs-1 text-center'><?=$contagem?> grupos de produtos
<tableclass=table><!--esse algorítimo é péssimo, ele só faz 4 colunas no máximo--><?php for($iLinha=0;$iLinha<$numLinhas;$iLinha++){for($iColuna=0;$iColuna<=$colunas;$iColuna++){if(($iLinha+$iColuna*$numLinhas)<$contagem){
$item=$produtos[$iLinha+$iColuna*$numLinhas]['grupo'];
echo "<td><a class='link-dark link-underline
link-underline-opacity-0 fs-2' href='?item=$item'>$item</a>";}}
echo "<tr>";}?></table>
arquivo /astudy/index.php
<?php
header("location:View/viewMenu.php");
Pergunta
Frank K Hosaka
Usei o meu programa ScriptOut.php para publicar todos os arquivos e os respectivos conteúdos da pasta astudy aqui. Agora, sugiro você copiar todo o texto e salvar em script.txt no diretório C:/wamp64/www, e em seguida executar o programa ScriptIn.php que publiquei em outro tópico, ele vai montar o diretório astudy e todos os arquivos do projeto no seu computador.
Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.