Google Planilhas Avançado - #46 Finalizando Formulário
26/01/2020Nessa vídeoaula terminaremos o formulário de integração com o Google Planilhas, passando um parâmetro que definirá se é um formulário de cadastro ou edição.
Formulário de Integração com Google Planilhas
O método getForm da ClassLayout receberá um parâmetro que definirá se é um formulário de cadastro ou edição:
#Form
public static function getForm($data)
{
$html="<form name='form' id='form' method='post' action='../controllers/DataController.php'>\n";
$html.="<input type='hidden' name='id' id='id' value='".$data['id']."'>\n";
$html.="<input type='hidden' name='action' id='action' value='".$data['action']."'>\n";
$html.="<input type='hidden' name='range' id='range' value='".$data['range']."'>\n";
$html.="<div class='form-group'>\n";
$html.="<label for='name'>Nome:</label>\n";
$html.="<input type='text' class='form-control' id='name' name='name' value='".$data['name']."' placeholder='Nome:'>\n";
$html.="<small class='form-text text-muted'>Nunca compartilhe seus dados pessoais!</small>\n";
$html.="</div>\n";
$html.="<div class='form-group'>\n";
$html.="<label for='age'>Idade:</label>\n";
$html.="<input type='text' class='form-control' id='age' name='age' value='".$data['age']."' placeholder='Idade:'>\n";
$html.="</div>\n";
$html.="<div class='form-group'>\n";
$html.="<label for='city'>Cidade:</label>\n";
$html.="<input type='text' class='form-control' id='city' name='city' value='".$data['city']."' placeholder='Cidade:'>\n";
$html.="</div>\n";
$html.="<button type='submit' class='btn btn-primary'>Enviar</button>\n";
$html.="</form>\n";
return $html;
}
Na página create.php nós iremos fazer um array com as características do formulário:
<?php include("../lib/vendor/autoload.php");echo Classes\ClassLayout::getHeader(); ?>
<h1 class="text-center">Cadastro de Dados</h1><hr>
<div class="col-8 m-auto">
<?php
$post=[
'action'=>'create',
'id'=>0,
'range'=>'Dados!A2',
'button'=>'Cadastrar',
'name'=>'',
'age'=>'',
'city'=>'',
];
echo \Classes\ClassLayout::getForm($post);
?>
</div>
<?php echo \Classes\ClassLayout::getFooter(); ?>
No edit.php nós faremos os arrays já trazendo os dados que serão editados:
<?php include("../lib/vendor/autoload.php");echo Classes\ClassLayout::getHeader(); ?>
<h1 class="text-center">Editando Dados</h1><hr>
<div class="col-8 m-auto">
<?php
$row=$_GET['row'];
$sheet=new Classes\ClassSpreadsheet();
$data=$sheet->readSheet("1HeIpedpNNe4S5l_JGm4Il5K0Nq0bT2bF0tBaaHM2C9E","Dados","A{$row}:C{$row}")[0];
$post=[
'action'=>'edit',
'id'=>$row,
'range'=>"Dados!A{$row}:C{$row}",
'button'=>'Editar',
'name'=>$data[0],
'age'=>$data[1],
'city'=>$data[2],
];
echo \Classes\ClassLayout::getForm($post);
?>
</div>
<?php echo \Classes\ClassLayout::getFooter(); ?>
Lembre-se no código acima de alterar a id da sua planilha.
Por fim faremos a configuração do nosso DataController.php
<?php
include("../lib/vendor/autoload.php");
$id=filter_input(INPUT_POST,'id',FILTER_DEFAULT);
$action=filter_input(INPUT_POST,'action',FILTER_DEFAULT);
$range=filter_input(INPUT_POST,'range',FILTER_DEFAULT);
$name=filter_input(INPUT_POST,'name',FILTER_DEFAULT);
$age=filter_input(INPUT_POST,'age',FILTER_DEFAULT);
$city=filter_input(INPUT_POST,'city',FILTER_DEFAULT);
$spreadsheet=new Classes\ClassSpreadsheet();
if($action == 'create'){
echo "New register";
}else{
echo "Edit";
}
Sucesso nos códigos e na vida!
Posts Relacionados
Google Planilhas Avançado - #45 ClassLayout e Formulário
Na aula de hoje trabalharemos com uma classe pra definir o layout do nosso sistema e o formulário de dados.
Google Planilhas Avançado - #47 Cadastrando Dados via API
Nessa vídeoaula realizaremos a inserção de novos dados no Google Planilhas utilizando a API.